<freeStyleProject _class='hudson.model.FreeStyleProject'><action></action><action></action><action></action><action></action><action _class='hudson.plugins.jobConfigHistory.JobConfigHistoryProjectAction'></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'><displayUrl>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/</displayUrl></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'><stores></stores></action><description>RESPECT-Primary</description><displayName>RESPECT-Primary-MavenPublish</displayName><fullDisplayName>RESPECT-Primary-MavenPublish</fullDisplayName><fullName>RESPECT-Primary-MavenPublish</fullName><name>RESPECT-Primary-MavenPublish</name><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/</url><buildable>true</buildable><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>54</buildNumber><marked><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#54</displayName><duration>143718</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #54</fullDisplayName><id>54</id><inProgress>false</inProgress><keepLog>false</keepLog><number>54</number><queueId>273</queueId><result>SUCCESS</result><timestamp>1790932390799</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/54/</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-app-compose/src/commonMain/kotlin/world/respect/app/app/App.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/apps/launcher/AppLauncherViewModel.kt</file></path><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-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/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.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>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/settings/SettingsViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.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>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/curriculum/mapping/list/CurriculumMappingListScreen.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>add</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/navigation/AppRoutes.kt</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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><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></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>.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/lesson002.html</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/subflows/admin_add_app_and_teacher.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.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/lesson002.json</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.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/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/video.mp4</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/subflows/school_admin_login_flow.yaml</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/lesson002.html</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>delete</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>add</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/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-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-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-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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/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><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/learningunit/list/LearningUnitListScreen.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>add</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/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/playlists/mapping/share/PlaylistShareScreen.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/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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/playlists/mapping/share/PlaylistShareViewModel.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></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-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/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/list/PlaylistListScreen.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/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>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/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_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/002_user_add_apps_playlists_bookmarks_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/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_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_005_add_school_self_registration_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/playlists/mapping/edit/PlaylistEditViewModel.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/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-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/commonMain/kotlin/world/respect/app/app/App.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/playlists/mapping/edit/PlaylistEditViewModel.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/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-lib-shared/src/commonMain/composeResources/values/strings.xml</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-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-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>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>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-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><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-lib-shared/src/commonMain/composeResources/values/strings.xml</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/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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</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-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>.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><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-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>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><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/viewmodel/apps/launcher/AppLauncherViewModel.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/apps/enterlink/EnterLinkViewModel.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/share/PlaylistShareViewModel.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><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/apps/launcher/AppLauncherViewModel.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-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/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</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>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/view/learningunit/list/LearningUnitListScreen.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/learningunit/list/LearningUnitListViewModel.kt</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>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>.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>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>.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><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/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/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/playlists/mapping/list/PlaylistListViewModel.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-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/learningunit/list/LearningUnitListViewModel.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-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/domain/account/username/GetActiveUsernameUseCase.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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/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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/mapping/edit/Externallinkeditviewmodel.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/cover.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</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>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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/domain/externallink/ExtractWebPageMetadataUseCase.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/Externallinkeditviewmodel.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/androidMain/kotlin/world/respect/AppKoinModule.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-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png</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>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/lesson001.html</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.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/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.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/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.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>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/learningunit/list/LearningUnitListScreen.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></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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.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><path><editType>add</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-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.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>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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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-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/daos/OpdsFeedEntityDao.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/apps/enterlink/EnterLinkViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.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-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><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/list/PlaylistListScreen.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</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/playlists/mapping/list/PlaylistListViewModel.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-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/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/list/PlaylistListScreen.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></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/playlists/mapping/list/PlaylistListViewModel.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-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/share/PlaylistShareViewModel.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</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><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.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-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/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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</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>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/mapping/edit/PlaylistEditViewModel.kt</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>.maestro/flows/subflows/admin_add_app.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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/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/lesson002/lesson002.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.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/examples/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</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/grade1.json</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/subflows/admin_add_app.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/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-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/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></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-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/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/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></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/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.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/apps/enterlink/EnterLinkViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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><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/viewmodel/apps/launcher/AppLauncherViewModel.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-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>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><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/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></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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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>add</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/mapping/edit/PlaylistEditScreen.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>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>add</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/playlists/mapping/share/PlaylistShareScreen.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>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-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/home/HomeScreen.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>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>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/share/PlaylistShareViewModel.kt</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/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>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-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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.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>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>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/home/HomeScreen.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>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-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/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>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/playlists/collections/share/PlaylistShareScreen.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/playlists/collections/edit/PlaylistEditViewModel.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>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/apps/detail/AppsDetailViewModel.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/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>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-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/detail/AppsDetailViewModel.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-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/list/PlaylistListViewModel.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/collections/detail/PlaylistDetailViewModel.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/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></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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</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_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_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><path><editType>delete</editType><file>.maestro/flows/002_001_browse_lessons_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_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/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/001_001_invite_users_using_qr_code_or_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/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_class_with_members.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_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/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></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>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_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><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><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-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></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/learningunit/list/LearningUnitListViewModel.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>.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/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.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/assignment/edit/AssignmentEditViewModel.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/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-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/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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/assignment/edit/AssignmentEditViewModel.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/learningunit/detail/LearningUnitDetailViewModel.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/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/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.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/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-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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><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/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>add</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/util/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/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/apps/detail/AppsDetailViewModel.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/learningunit/editfeed/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.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/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/collections/edit/PlaylistEditScreen.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>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/collections/edit/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>app-android/src/main/kotlin/world/respect/AppKoinModule.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.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/viewmodel/assignment/edit/AssignmentEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.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>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/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</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/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/playlists/collections/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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.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/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>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/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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-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/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-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/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.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/OpdsFeedEditNavigationItemRow.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/OpdsFeedEditPublicationItemRow.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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-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/editfeed/OpdsFeedEditAddItemBottomSheet.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/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/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><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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.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-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/learningunit/OpdsPickType.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/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.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>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/ext/OpdsFeedExt.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-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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.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-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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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-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/bookmark/BookmarkListViewModel.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/apps/launcher/AppLauncherViewModel.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/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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.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/learningunit/list/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><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/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/editfeed/OpdsFeedEditAddItemBottomSheet.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-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/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.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>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/OpdsFeedEditAddItemBottomSheet.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>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.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/editfeed/OpdsFeedEditAddItemBottomSheet.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>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.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-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.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>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.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>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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.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>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-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.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>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-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/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.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/opdscatalog/detail/LearningUnitDetailScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.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>edit</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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>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/viewmodel/apps/detail/AppsDetailViewModel.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</file></path><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/OpdsFeedListItem.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>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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-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/assignment/edit/AssignmentEditViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.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/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.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>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.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>edit</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/bookmark/BookmarkListViewModel.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.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-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/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.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/feededit/OpdsFeedGroupEditItem.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/opdsfeededit/OpdsFeedEditGroupMenuItemButton.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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.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-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/catalog/feeddetail/OpdsFeedDetailScreen.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.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>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/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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.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/feeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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/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>delete</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-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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>delete</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/opdsfeeddetail/OpdsFeedDetailHeader.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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/opdsfeedlist/OpdsFeedListViewModel.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/catalog/opdsfeeddetail/OpdsFeedDetailScreen.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-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>README_ADD_YOUR_APP.md</affectedPath><commitId>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</commitId><timestamp>1788338743000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md
</comment><date>2026-09-02 12:45:43 +0400</date><id>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</id><msg>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>abb85e6dbd78321176aca3bf9c5249d16722d1a8</commitId><timestamp>1788547140000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for main project and respect-lib-shared.
</comment><date>2026-09-04 22:39:00 +0400</date><id>abb85e6dbd78321176aca3bf9c5249d16722d1a8</id><msg>Update AGENTS.md for main project and respect-lib-shared.</msg><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>add</editType><file>respect-lib-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><commitId>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</commitId><timestamp>1788601024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for respect-datalayer and respect-datalayer-db.
</comment><date>2026-09-05 13:37:04 +0400</date><id>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</id><msg>Update AGENTS.md for respect-datalayer and respect-datalayer-db.</msg><path><editType>edit</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><commitId>dc559585e29f8e13215111b3b25763535378dcb9</commitId><timestamp>1788625143000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:19:03 +0400</date><id>dc559585e29f8e13215111b3b25763535378dcb9</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><commitId>4205e63579b8bbee151c447a65f486c1661e0dd7</commitId><timestamp>1788625374000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:22:54 +0400</date><id>4205e63579b8bbee151c447a65f486c1661e0dd7</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>577aee82bf7fedf9f84be8febb5b9d163a125af4</commitId><timestamp>1788626077000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename DocumentParams and MultiDocParams.
</comment><date>2026-09-05 20:34:37 +0400</date><id>577aee82bf7fedf9f84be8febb5b9d163a125af4</id><msg>Rename DocumentParams and MultiDocParams.</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>45573cfef56405f2586ad4835917c3ff87571c4d</commitId><timestamp>1788627046000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt
</comment><date>2026-09-05 20:50:46 +0400</date><id>45573cfef56405f2586ad4835917c3ff87571c4d</id><msg>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><commitId>251e4f854a3f454a080e2d8fbcf181948b981229</commitId><timestamp>1788685088000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add xAPI Activity Profile route
</comment><date>2026-09-06 12:58:08 +0400</date><id>251e4f854a3f454a080e2d8fbcf181948b981229</id><msg>Add xAPI Activity Profile route</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><commitId>87e5948c6a605bf31d88772a68c3605305888583</commitId><timestamp>1788687103000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md guidance for datalayer-db and datalayer-http.

Rename http resource client suffix to HttpClient for clarity.
</comment><date>2026-09-06 13:31:43 +0400</date><id>87e5948c6a605bf31d88772a68c3605305888583</id><msg>Update AGENTS.md guidance for datalayer-db and datalayer-http.</msg><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><commitId>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</commitId><timestamp>1788714465000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiActivityProfileResourceHttpClient implementation.
</comment><date>2026-09-06 21:07:45 +0400</date><id>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</id><msg>Add XapiActivityProfileResourceHttpClient implementation.</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.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>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-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><commitId>43a6e66b210e450437282cd6e416f17d7cb1ad73</commitId><timestamp>1788853155000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: add guidance on document APIs synchronizing deletions.
</comment><date>2026-09-08 11:39:15 +0400</date><id>43a6e66b210e450437282cd6e416f17d7cb1ad73</id><msg>Work in progress: add guidance on document APIs synchronizing deletions.</msg><path><editType>edit</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>respect-lib-xapi-core/.gitignore</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/model/XapiStatementResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><commitId>c36bb3577bad1ef977ec836354220b2ba9d22dfc</commitId><timestamp>1788853793000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update xapi module package names to follow new convention - just lib.
</comment><date>2026-09-08 11:49:53 +0400</date><id>c36bb3577bad1ef977ec836354220b2ba9d22dfc</id><msg>Update xapi module package names to follow new convention - just lib.</msg><path><editType>delete</editType><file>respect-lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-test/README.md</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/.gitignore</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>lib-xapi-test/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><commitId>4b8356ac8edccff843d686ad757ccf47029c9b53</commitId><timestamp>1788859439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi statement resource tests into lib-xapi-test
</comment><date>2026-09-08 13:23:59 +0400</date><id>4b8356ac8edccff843d686ad757ccf47029c9b53</id><msg>Refactor xapi statement resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/.gitignore</file></path><path><editType>edit</editType><file>build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>8f13aef35fa76a8a389d47f7aae91e610e324e6e</commitId><timestamp>1788962068000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.

Fix PinPublicationPrepareUseCase to avoid attempting to download an intent url.
</comment><date>2026-09-09 17:54:28 +0400</date><id>8f13aef35fa76a8a389d47f7aae91e610e324e6e</id><msg>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.</msg><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.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-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/resources/directories/default.properties</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>56e0677bd714bc6e10e3dede68d664ca17970d21</commitId><timestamp>1788972022000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AndroidManifest.xml to include new testing server url.
Move directories/default.properties data into commonMain
Update Login screen to show server url and location.
Bump version.
</comment><date>2026-09-09 20:40:22 +0400</date><id>56e0677bd714bc6e10e3dede68d664ca17970d21</id><msg>Update AndroidManifest.xml to include new testing server url.</msg><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.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/manageuser/login/LoginViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><commitId>15024741e858b809e2c0f00024094886c11e4bb7</commitId><timestamp>1788975563000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version number
</comment><date>2026-09-09 21:39:23 +0400</date><id>15024741e858b809e2c0f00024094886c11e4bb7</id><msg>Bump version number</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/build.gradle.kts</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-util/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/openapi/openapi.yaml</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/desktopMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><commitId>82241844fac122cf490228c6cdd1b4c4f8c8d97b</commitId><timestamp>1789027836000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.

Remove most usage of deprecated by getting.
</comment><date>2026-09-10 12:10:36 +0400</date><id>82241844fac122cf490228c6cdd1b4c4f8c8d97b</id><msg>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.</msg><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/openapi/openapi.yaml</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-test-resources/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-util/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><commitId>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</commitId><timestamp>1789027852000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add 9.json database schema.
</comment><date>2026-09-10 12:10:52 +0400</date><id>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</id><msg>Add 9.json database schema.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>settings.gradle.kts</affectedPath><commitId>243a1fbac1da00f207bb1cd12bbb24101f206311</commitId><timestamp>1789028840000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to AGP9.4
</comment><date>2026-09-10 12:27:20 +0400</date><id>243a1fbac1da00f207bb1cd12bbb24101f206311</id><msg>Update to AGP9.4</msg><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>3e13e3586a326fede7494c10f15d257af2d99d74</commitId><timestamp>1789039879000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.
</comment><date>2026-09-10 15:31:19 +0400</date><id>3e13e3586a326fede7494c10f15d257af2d99d74</id><msg>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><commitId>a0cda72277aa552c22f36d36d56fc8d6f512b377</commitId><timestamp>1789041071000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of duration for StatementDetail.
</comment><date>2026-09-10 15:51:11 +0400</date><id>a0cda72277aa552c22f36d36d56fc8d6f512b377</id><msg>Fix display of duration for StatementDetail.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>bac981ed8f6a77591d1587b958844d48efc761cf</commitId><timestamp>1789041138000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version.
</comment><date>2026-09-10 15:52:18 +0400</date><id>bac981ed8f6a77591d1587b958844d48efc761cf</id><msg>Bump version.</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/proguard-rules.pro</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>79deada44cd8d64b20be58b99fec2fb09bb003e2</commitId><timestamp>1789044795000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.

See See https://github.com/googlesamples/mlkit/issues/1018
</comment><date>2026-09-10 16:53:15 +0400</date><id>79deada44cd8d64b20be58b99fec2fb09bb003e2</id><msg>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.</msg><path><editType>edit</editType><file>app-android/proguard-rules.pro</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</commitId><timestamp>1789050579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update issue template label for app catalog request
</comment><date>2026-09-10 18:29:39 +0400</date><id>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</id><msg>Update issue template label for app catalog request</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/AGENTS.md</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><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/ext/JsonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><commitId>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</commitId><timestamp>1789125475000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi activity profile resource tests into lib-xapi-test
</comment><date>2026-09-11 15:17:55 +0400</date><id>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</id><msg>Refactor xapi activity profile resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>respect-datalayer-http/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>respect-lib-dataloadstate/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/README.md</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-http-server/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer/README.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><commitId>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</commitId><timestamp>1789138166000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-11 18:49:26 +0400</date><id>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/README.md</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>delete</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/README.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.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>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/log/respect-server.log</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>lib-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.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/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.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/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.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/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>lib-dataloadstate/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>lib-datalayer/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><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/OpdsParentType.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><commitId>1fdee8fd227baf98d3e35e3ba67052039ade1c06</commitId><timestamp>1789231861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-12 20:51:01 +0400</date><id>1fdee8fd227baf98d3e35e3ba67052039ade1c06</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>add</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-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/README.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>add</editType><file>lib-datalayer/.gitignore</file></path><path><editType>add</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>add</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/.gitignore</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>add</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-http-client/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>add</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/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/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</commitId><timestamp>1789234052000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.
</comment><date>2026-09-12 21:27:32 +0400</date><id>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</id><msg>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.</msg><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><commitId>a4be79ea8447a78e29d16546cda7a1005fa910da</commitId><timestamp>1789234392000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove test server log.
</comment><date>2026-09-12 21:33:12 +0400</date><id>a4be79ea8447a78e29d16546cda7a1005fa910da</id><msg>Remove test server log.</msg><path><editType>delete</editType><file>lib-datalayer-http-client/log/respect-server.log</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><commitId>32f939cfb5f2d87aa51b99430ae7022ac672402f</commitId><timestamp>1789235528000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:52:08 +0400</date><id>32f939cfb5f2d87aa51b99430ae7022ac672402f</id><msg>Fix compilation/build</msg><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><commitId>d562f7340895f9011ec5a6583f99ef71189ba4ce</commitId><timestamp>1789235780000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:56:20 +0400</date><id>d562f7340895f9011ec5a6583f99ef71189ba4ce</id><msg>Fix compilation/build</msg><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.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-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-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><commitId>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</commitId><timestamp>1789303701000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes

Refactor to using a shared AbstractXapiActivityProfileTest that tests both the database and http client/server implementation.
</comment><date>2026-09-13 16:48:21 +0400</date><id>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</id><msg>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes</msg><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</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-http-client/AGENTS.md</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>fa76edcd0b7c47438331555e261a2542817047a5</commitId><timestamp>1789303752000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to ignore logs generated by unit tests running in modules.
</comment><date>2026-09-13 16:49:12 +0400</date><id>fa76edcd0b7c47438331555e261a2542817047a5</id><msg>Update gitignore to ignore logs generated by unit tests running in modules.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.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/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><commitId>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</commitId><timestamp>1789314120000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add embedded data source server helper and refactor xAPI HTTP client tests
</comment><date>2026-09-13 19:42:00 +0400</date><id>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</id><msg>Add embedded data source server helper and refactor xAPI HTTP client tests</msg><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><commitId>05b241602e4a58a0ccdc1e00ac60e42f58996499</commitId><timestamp>1789314234000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove extra time logging in WithEmbeddedDataSourceServer.kt
</comment><date>2026-09-13 19:43:54 +0400</date><id>05b241602e4a58a0ccdc1e00ac60e42f58996499</id><msg>Remove extra time logging in WithEmbeddedDataSourceServer.kt</msg><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>258efbc61c11e29cd50493ce504f1bf34fe6d55c</commitId><timestamp>1789382805000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify app manifest URL requirements in issue template

Updated the template to clarify the requirement for the launchable app manifest URL and corrected the reference to the integration guide.
</comment><date>2026-09-14 14:46:45 +0400</date><id>258efbc61c11e29cd50493ce504f1bf34fe6d55c</id><msg>Clarify app manifest URL requirements in issue template</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><commitId>e424bad5d6cc8e45475203496f0e3a00e3757134</commitId><timestamp>1789464579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add conditional if-modified-since GET support for xAPI activity profile resources
</comment><date>2026-09-15 13:29:39 +0400</date><id>e424bad5d6cc8e45475203496f0e3a00e3757134</id><msg>Add conditional if-modified-since GET support for xAPI activity profile resources</msg><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.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/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</file></path><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt</affectedPath><commitId>c1c136ac127a8991dc153daf8689c73e7f199b2a</commitId><timestamp>1789476714000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Support ETag validation and SHA-1 caching for xAPI activity profile documents.
</comment><date>2026-09-15 16:51:54 +0400</date><id>c1c136ac127a8991dc153daf8689c73e7f199b2a</id><msg>Support ETag validation and SHA-1 caching for xAPI activity profile documents.</msg><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</file></path><path><editType>add</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-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</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-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/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.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/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.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/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>afab3fd1f76c527cfce39689a35b0a7e57c91405</commitId><timestamp>1789557692000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core
</comment><date>2026-09-16 15:21:32 +0400</date><id>afab3fd1f76c527cfce39689a35b0a7e57c91405</id><msg>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core</msg><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.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/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</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/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</commitId><timestamp>1789575164000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement XapiRemoteWriteQueue database storage and repository integration
</comment><date>2026-09-16 20:12:44 +0400</date><id>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</id><msg>Implement XapiRemoteWriteQueue database storage and repository integration</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.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>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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/SchoolTypeConverters.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.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-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><commitId>2d04d961dc60a83d4dfc89c007f2c065af919f93</commitId><timestamp>1789577713000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients
</comment><date>2026-09-16 20:55:13 +0400</date><id>2d04d961dc60a83d4dfc89c007f2c065af919f93</id><msg>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><commitId>660d9c447d17a594d894a0ae82299feb2c23cbf7</commitId><timestamp>1789579142000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial working implementation of XapiActivityProfileResourceRepository.
</comment><date>2026-09-16 21:19:02 +0400</date><id>660d9c447d17a594d894a0ae82299feb2c23cbf7</id><msg>Initial working implementation of XapiActivityProfileResourceRepository.</msg><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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><commitId>0260997a7fbac331cc4f6cc797ecbe6425bee694</commitId><timestamp>1789631928000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Android worker and Koin bindings for draining xAPI remote write queue
</comment><date>2026-09-17 11:58:48 +0400</date><id>0260997a7fbac331cc4f6cc797ecbe6425bee694</id><msg>Add Android worker and Koin bindings for draining xAPI remote write queue</msg><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/README.md</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>README.md</affectedPath><commitId>c139595ee01b99703afe3d056b9330ddd58d35ce</commitId><timestamp>1789634063000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update readme references that used to point to respect-app-compose to point to app-android.
</comment><date>2026-09-17 12:34:23 +0400</date><id>c139595ee01b99703afe3d056b9330ddd58d35ce</id><msg>Update readme references that used to point to respect-app-compose to point to app-android.</msg><path><editType>edit</editType><file>respect-app-compose/README.md</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><affectedPath>respect-app-compose/doc/run-config-settings.png</affectedPath><affectedPath>respect-app-compose/doc/app-config-dropdown.png</affectedPath><commitId>d7108c8ff014fd19318491a409268e87e8f53357</commitId><timestamp>1789634242000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Move Android Studio screenshots to app-android
</comment><date>2026-09-17 12:37:22 +0400</date><id>d7108c8ff014fd19318491a409268e87e8f53357</id><msg>Move Android Studio screenshots to app-android</msg><path><editType>add</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>add</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</commitId><timestamp>1789635473000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:57:53 +0400</date><id>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>a684966bdd27dc61aed963dc8972d3340a2163cb</commitId><timestamp>1789635567000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:59:27 +0400</date><id>a684966bdd27dc61aed963dc8972d3340a2163cb</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</affectedPath><affectedPath>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</affectedPath><commitId>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</commitId><timestamp>1789636894000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add profile id doc for storing and retrieving an OPDS collection.
Add recipe for pinning collections.
</comment><date>2026-09-17 13:21:34 +0400</date><id>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</id><msg>Add profile id doc for storing and retrieving an OPDS collection.</msg><path><editType>add</editType><file>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>respect-lib-cache/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>respect-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</affectedPath><affectedPath>lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/well-known/assetlinks.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>respect-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.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/ManagerServerCLI.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-credentials/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>lib-credentials/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>app-server/well-known/assetlinks.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/app.html</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/AGENTS.md</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>app-server/well-known/terms.html</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>respect-cli/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>respect-lib-cache/README.md</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>app-cli/.gitignore</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-shared-se/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>app-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>app-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>app-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-serializers/README.md</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.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/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.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/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.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/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-credentials/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-server/well-known/terms.html</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/README.md</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>lib-cache/.gitignore</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>lib-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>lib-shared-se/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-ihttp-core/.gitignore</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-app-compose/README.md</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/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/.gitignore</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>app-server/README.md</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>app-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>lib-appui-compose/README.md</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/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>ci-run-test-server.sh</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.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/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-ihttp-iostreams/README.md</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>respect-server/src/main/resources/logback.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>app-server/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>respect-server/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>app-cli/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/logback.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-server/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-appui-compose/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>respect-cli/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-credentials/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</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/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-serializers/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><commitId>dbe60749389bc418284e0690884eee431ca51bd9</commitId><timestamp>1789646998000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update module naming convention.
</comment><date>2026-09-17 16:09:58 +0400</date><id>dbe60749389bc418284e0690884eee431ca51bd9</id><msg>Update module naming convention.</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/books.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared-se/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-credentials/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.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>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/README.md</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README.md</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.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><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>delete</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>edit</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>add</editType><file>app-server/src/main/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>add</editType><file>lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>add</editType><file>app-server/well-known/terms.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/books.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</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/util/DurationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/.gitignore</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/strings.xml</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/README.md</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>app-cli/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-server/well-known/terms.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>add</editType><file>lib-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/build.gradle.kts</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.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>delete</editType><file>respect-lib-shared/AGENTS.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/.gitignore</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-credentials/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.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>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-ihttp-core/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.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>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>delete</editType><file>respect-cli/.gitignore</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.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/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>delete</editType><file>respect-server/.gitignore</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.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>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>add</editType><file>lib-cache/README.md</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/.gitignore</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>delete</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-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>delete</editType><file>respect-cli/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/app.html</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>edit</editType><file>ci-run-test-server.sh</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>app-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/AGENTS.md</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/README.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>add</editType><file>lib-serializers/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/application.conf</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>add</editType><file>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>app-cli/.gitignore</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>add</editType><file>lib-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/.gitignore</file></path><path><editType>add</editType><file>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>add</editType><file>app-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>app-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/logback.xml</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>add</editType><file>lib-appui-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/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>edit</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.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>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/application.conf</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><commitId>78c9a20922e2d10d126600ae9c292ed9624179d2</commitId><timestamp>1789647047000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update respect-server.service template.
</comment><date>2026-09-17 16:10:47 +0400</date><id>78c9a20922e2d10d126600ae9c292ed9624179d2</id><msg>Update respect-server.service template.</msg><path><editType>edit</editType><file>app-server/src/dist/systemd/respect-server.service</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/respect-app.db</affectedPath><affectedPath>respect-server/data/dir-admin.txt</affectedPath><affectedPath>respect-server/data/respect-app.db-shm</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_</affectedPath><affectedPath>respect-server/data/server.properties</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</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/http___10_40_49_70_8098_/http___10_40_49_70_8098_</file></path><path><editType>delete</editType><file>respect-server/data/server.properties</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db-wal</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_-shm</file></path><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></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</commitId><timestamp>1789648790000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to reflect module renaming and avoid accidental commit of old server data.
</comment><date>2026-09-17 16:39:50 +0400</date><id>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</id><msg>Update gitignore to reflect module renaming and avoid accidental commit of old server data.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>composeApp/src/desktopMain/resources/img/spix_logo.png</affectedPath><affectedPath>composeApp/src/desktopMain/resources/img/respect_logo.png</affectedPath><affectedPath>.gitignore</affectedPath><commitId>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</commitId><timestamp>1789648861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete old composeApp directory.
</comment><date>2026-09-17 16:41:01 +0400</date><id>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</id><msg>Remove obsolete old composeApp directory.</msg><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/respect_logo.png</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/spix_logo.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/README.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>5461c3e7ef70a4307f6868bed4093e414b7312ff</commitId><timestamp>1789649231000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix links in AGENTS.md and README.md
</comment><date>2026-09-17 16:47:11 +0400</date><id>5461c3e7ef70a4307f6868bed4093e414b7312ff</id><msg>Fix links in AGENTS.md and README.md</msg><path><editType>edit</editType><file>app-server/README.md</file></path><path><editType>edit</editType><file>AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.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/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</commitId><timestamp>1789653548000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete SchoolApp datasource.
</comment><date>2026-09-17 17:59:08 +0400</date><id>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</id><msg>Remove obsolete SchoolApp datasource.</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.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>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.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/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.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/daos/SchoolAppEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/opdsfeededit/OpdsFeedEditViewModel.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.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/opds/ext/OpdsFeedEntityExt.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>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><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/RespectSchoolDatabase.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.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/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.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>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.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-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/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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>delete</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/daos/OpdsFeedEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</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/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/opds/OpdsFeedDataSourceRepository.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/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></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-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/opds/OpdsRespectRepositoryIntegrationTest.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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/ETagAndLastModifiedExt.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/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/flow/RepoFlowTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.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_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/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-pending/001_005_add_school_self_registration_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_002_add_user_direct_test.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/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows-pending/001_005_add_school_self_registration_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class.yaml</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>.maestro/flows/002_001_browse_lessons_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/001_003_login_using_school_link_test.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/subflows/admin_add_new_student_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_student.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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>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/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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/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/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.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>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/RespectSchoolDatabaseMigrations.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/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.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/entities/XapiStateDocumentEntity.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/school/xapi/daos/XapiActivityProfileDocumentDao.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/adapters/XapiStateDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.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/entities/XapiActivityProfileDocumentShaEntity.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.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-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/XapiActivityProfileDocumentEntity.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.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>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/AbstractXapiStateResourceTest.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>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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.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/resources/XapiResource.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.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><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/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>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.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/XapiStateResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.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-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/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-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/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.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>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>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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json</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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.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>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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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>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/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.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>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.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>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.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>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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.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/local/XapiAgentProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.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>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><commitId>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</commitId><timestamp>1790178862000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete models and add authentication options to SchoolDirectoryEntry.
</comment><date>2026-09-23 19:54:22 +0400</date><id>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</id><msg>Remove obsolete models and add authentication options to SchoolDirectoryEntry.</msg><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-ihttp-core/README.md</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>edit</editType><file>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><commitId>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</commitId><timestamp>1790242625000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.
</comment><date>2026-09-24 13:37:05 +0400</date><id>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</id><msg>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.</msg><path><editType>edit</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/AGENTS.md</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><commitId>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</commitId><timestamp>1790324036000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor statement handling into StatementResourceResponder and add tests
</comment><date>2026-09-25 12:13:56 +0400</date><id>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</id><msg>Refactor statement handling into StatementResourceResponder and add tests</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><commitId>532bc906ffa34ddbb9ef16c2558aa16d147099f8</commitId><timestamp>1790344131000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:48:51 +0400</date><id>532bc906ffa34ddbb9ef16c2558aa16d147099f8</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><commitId>4f49d34ee2e085c1fea6d13bef1db2147de881f7</commitId><timestamp>1790344141000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:49:01 +0400</date><id>4f49d34ee2e085c1fea6d13bef1db2147de881f7</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><commitId>bc9ca414264225b7baae09c6bc4edcfd09082f2b</commitId><timestamp>1790345194000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity and Agent Profile resources to lib-xapi-nanohttpd
</comment><date>2026-09-25 18:06:34 +0400</date><id>bc9ca414264225b7baae09c6bc4edcfd09082f2b</id><msg>Add Activity and Agent Profile resources to lib-xapi-nanohttpd</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><commitId>a9b542c379201dadc2b83628271fe759d4b22468</commitId><timestamp>1790351054000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.
</comment><date>2026-09-25 19:44:14 +0400</date><id>a9b542c379201dadc2b83628271fe759d4b22468</id><msg>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.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/XapiAgentProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>dc66f8d0fb256ba2e927b12a6399e99a079e8889</commitId><timestamp>1790602139000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 17:28:59 +0400</date><id>dc66f8d0fb256ba2e927b12a6399e99a079e8889</id><msg>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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/XapiResourceDb.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><commitId>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</commitId><timestamp>1790604419000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 18:06:59 +0400</date><id>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</id><msg>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>.junie/guidelines.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><commitId>4590826c4dce9753efdd28a083301f5d917c4850</commitId><timestamp>1790611835000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiDocument bundle adapter for IPC
</comment><date>2026-09-28 20:10:35 +0400</date><id>4590826c4dce9753efdd28a083301f5d917c4850</id><msg>Add XapiDocument bundle adapter for IPC</msg><path><editType>add</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>.junie/guidelines.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-server/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><commitId>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</commitId><timestamp>1790664641000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiStatementResource IPC tests and update IPC bundle serialization
</comment><date>2026-09-29 10:50:41 +0400</date><id>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</id><msg>Add XapiStatementResource IPC tests and update IPC bundle serialization</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>f6b1de5f635ffc7476de454ea7acd837459a7867</commitId><timestamp>1790671033000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.
</comment><date>2026-09-29 12:37:13 +0400</date><id>f6b1de5f635ffc7476de454ea7acd837459a7867</id><msg>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.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-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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/resources/XapiStatementsResource.kt</affectedPath><commitId>cddb1f3275d3901a8d88985fa0b99d82deef140b</commitId><timestamp>1790674466000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Bundle query parameter helpers and update xAPI IPC to use Parameters
</comment><date>2026-09-29 13:34:26 +0400</date><id>cddb1f3275d3901a8d88985fa0b99d82deef140b</id><msg>Add Bundle query parameter helpers and update xAPI IPC to use Parameters</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</commitId><timestamp>1790679504000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod
</comment><date>2026-09-29 14:58:24 +0400</date><id>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</id><msg>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><commitId>9da84a63b24916c7e3b21a1e45db41179e4396f6</commitId><timestamp>1790684723000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcService message handling into dedicated resource handlers.
</comment><date>2026-09-29 16:25:23 +0400</date><id>9da84a63b24916c7e3b21a1e45db41179e4396f6</id><msg>Refactor XapiIpcService message handling into dedicated resource handlers.</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><commitId>001f142bfd024f2c79af1326d8d9f097761a3b93</commitId><timestamp>1790686252000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add BundleHeaders and refactor IPC bundle header and query parameter helpers
</comment><date>2026-09-29 16:50:52 +0400</date><id>001f142bfd024f2c79af1326d8d9f097761a3b93</id><msg>Add BundleHeaders and refactor IPC bundle header and query parameter helpers</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><commitId>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</commitId><timestamp>1790701915000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle document resource IPC requests asynchronously
</comment><date>2026-09-29 21:11:55 +0400</date><id>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</id><msg>Handle document resource IPC requests asynchronously</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</affectedPath><commitId>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</commitId><timestamp>1790765358000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper
</comment><date>2026-09-30 14:49:18 +0400</date><id>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</id><msg>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>62d6551c2f877ff6c9cda56e7781561fb24ae622</commitId><timestamp>1790768294000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity Profile and Agent Profile IPC support.
</comment><date>2026-09-30 15:38:14 +0400</date><id>62d6551c2f877ff6c9cda56e7781561fb24ae622</id><msg>Add Activity Profile and Agent Profile IPC support.</msg><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-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>51485ce7d9a4c45fc42969f2abf14787d5ced704</commitId><timestamp>1790768661000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients
</comment><date>2026-09-30 15:44:21 +0400</date><id>51485ce7d9a4c45fc42969f2abf14787d5ced704</id><msg>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients</msg><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>279faf43f09e11139758541d034ec367c0895cc4</commitId><timestamp>1790775367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion
</comment><date>2026-09-30 17:36:07 +0400</date><id>279faf43f09e11139758541d034ec367c0895cc4</id><msg>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion</msg><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</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-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.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/XapiAgentProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</affectedPath><commitId>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</commitId><timestamp>1790777538000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Quote ETag values in xAPI document resources and queries
</comment><date>2026-09-30 18:12:18 +0400</date><id>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</id><msg>Quote ETag values in xAPI document resources and queries</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.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/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>edit</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</affectedPath><commitId>4d2a4f4e44b3e5cfecc841da185645457dc1013a</commitId><timestamp>1790788510000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321
</comment><date>2026-09-30 21:15:10 +0400</date><id>4d2a4f4e44b3e5cfecc841da185645457dc1013a</id><msg>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</file></path><path><editType>edit</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</file></path><path><editType>edit</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_PERMISSIONS.md</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><commitId>9cea818ba83b6b2052e34a92bd08d6268628382d</commitId><timestamp>1790859279000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update permissions concept README.
</comment><date>2026-10-01 16:54:39 +0400</date><id>9cea818ba83b6b2052e34a92bd08d6268628382d</id><msg>Update permissions concept README.</msg><path><editType>add</editType><file>lib-xapi-core/README_PERMISSIONS.md</file></path><path><editType>delete</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</affectedPath><commitId>6f211e0949e3a26ab55107153b207b2ad555850d</commitId><timestamp>1790862214000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make detail screens scrollable, adjust padding
</comment><date>2026-10-01 17:43:34 +0400</date><id>6f211e0949e3a26ab55107153b207b2ad555850d</id><msg>Make detail screens scrollable, adjust padding</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><commitId>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</commitId><timestamp>1790927239000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add show more/show less option to AlternativeLangLinks.kt
</comment><date>2026-10-02 11:47:19 +0400</date><id>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</id><msg>Add show more/show less option to AlternativeLangLinks.kt</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>c8213a6965b8081aeb8b10af77f59881d16281b9</commitId><timestamp>1790927623000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-10-02 11:53:43 +0400</date><id>c8213a6965b8081aeb8b10af77f59881d16281b9</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>53</buildNumber><marked><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><branch><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><branch><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><branch><SHA1>79f13bd94036154da75a495c51794e095eb16e97</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#53</displayName><duration>158167</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #53</fullDisplayName><id>53</id><inProgress>false</inProgress><keepLog>false</keepLog><number>53</number><queueId>11542</queueId><result>SUCCESS</result><timestamp>1788269951028</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/53/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><commitId>94fb283538e4668d8f7e0f1a8722e0b335e69c36</commitId><timestamp>1787908657000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve support for launching native apps using intent uri and custom action.

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

Update SavePasswordUseCase to use activity context processor.
</comment><date>2026-08-30 17:00:20 +0400</date><id>adb4fd184baff20a4069382ff26a6a57ab31ecb3</id><msg>Rename install prompt to GoToAppStore.</msg><path><editType>edit</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/installapp/ShowInstallAppPromptUseCase.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/MainActivity.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseProcessor.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/SubmitActivityContextJobUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><commitId>db1f7b231d0caf93995bea64b72fbfecd5d2765e</commitId><timestamp>1788096442000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add mobile only lessons to the demoapp catalog.
</comment><date>2026-08-30 17:27:22 +0400</date><id>db1f7b231d0caf93995bea64b72fbfecd5d2765e</id><msg>Add mobile only lessons to the demoapp catalog.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>8a654eaaf39c5ada415dc3289b329710cc1e08d5</commitId><timestamp>1788097416000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_ADD_YOUR_APP.md to add guidance on handling publications that require a native app.
</comment><date>2026-08-30 17:43:36 +0400</date><id>8a654eaaf39c5ada415dc3289b329710cc1e08d5</id><msg>Update README_ADD_YOUR_APP.md to add guidance on handling publications that require a native app.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>bdfeefc27719949eaf47dee0ddd2f2bbb1c9a169</commitId><timestamp>1788106071000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_ADD_YOUR_APP.md to add guidance on intent filter.
</comment><date>2026-08-30 20:07:51 +0400</date><id>bdfeefc27719949eaf47dee0ddd2f2bbb1c9a169</id><msg>Update README_ADD_YOUR_APP.md to add guidance on intent filter.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><commitId>76a3f81564d1ca947cfb1665b7b53c04b62972e3</commitId><timestamp>1788162043000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add initial language map for multilingual launchable app demo.
</comment><date>2026-08-31 11:40:43 +0400</date><id>76a3f81564d1ca947cfb1665b7b53c04b62972e3</id><msg>Add initial language map for multilingual launchable app demo.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><commitId>7a3da32354ec1188fbc09f228f562c409c5815d1</commitId><timestamp>1788181028000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update demo app to show multiple language versions.
</comment><date>2026-08-31 16:57:08 +0400</date><id>7a3da32354ec1188fbc09f228f562c409c5815d1</id><msg>Update demo app to show multiple language versions.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><commitId>ed81ce23b4e4d297704f361b7f7dc66bb31e0835</commitId><timestamp>1788187739000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update demo app examples to include multiple languages.
</comment><date>2026-08-31 18:48:59 +0400</date><id>ed81ce23b4e4d297704f361b7f7dc66bb31e0835</id><msg>Update demo app examples to include multiple languages.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><commitId>a85c3071dcea57d0b8f5b8991ff83b8e95219bac</commitId><timestamp>1788188325000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update demoapp index.html
</comment><date>2026-08-31 18:58:45 +0400</date><id>a85c3071dcea57d0b8f5b8991ff83b8e95219bac</id><msg>Update demoapp index.html</msg><path><editType>edit</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>contrib/language-names.ods</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><commitId>45162fda4d8ae2a78b1073cadbb6193a9fb70f31</commitId><timestamp>1788261154000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add support to display alternative language versions for apps and learning units.
</comment><date>2026-09-01 15:12:34 +0400</date><id>45162fda4d8ae2a78b1073cadbb6193a9fb70f31</id><msg>Add support to display alternative language versions for apps and learning units.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>contrib/language-names.ods</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>add</editType><file>respect-lib-shared/src/commonMain/composeResources/values/lang_names.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/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/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>edit</editType><file>respect-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/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><commitId>0c734ef1853f901413b6829b2339531eac50b9cb</commitId><timestamp>1788263695000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update grade collection title.
</comment><date>2026-09-01 15:54:55 +0400</date><id>0c734ef1853f901413b6829b2339531eac50b9cb</id><msg>Update grade collection title.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><commitId>b2f8a9f343fe8863b4d372dc809b614870d335a5</commitId><timestamp>1788264635000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix OpdsRespectRepositoryIntegrationTest.kt compilation
</comment><date>2026-09-01 16:10:35 +0400</date><id>b2f8a9f343fe8863b4d372dc809b614870d335a5</id><msg>Fix OpdsRespectRepositoryIntegrationTest.kt compilation</msg><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>5052d265d464808f675b60958901c2c3f96d979e</commitId><timestamp>1788269163000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_ADD_YOUR_APP.md documentation on loading offline resources.
</comment><date>2026-09-01 17:26:03 +0400</date><id>5052d265d464808f675b60958901c2c3f96d979e</id><msg>Update README_ADD_YOUR_APP.md documentation on loading offline resources.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>52</buildNumber><marked><SHA1>ec091d76fd21cd6cbc002021060e86c7b14321bd</SHA1><branch><SHA1>ec091d76fd21cd6cbc002021060e86c7b14321bd</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>ec091d76fd21cd6cbc002021060e86c7b14321bd</SHA1><branch><SHA1>ec091d76fd21cd6cbc002021060e86c7b14321bd</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>ec091d76fd21cd6cbc002021060e86c7b14321bd</SHA1><branch><SHA1>ec091d76fd21cd6cbc002021060e86c7b14321bd</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#52</displayName><duration>162348</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #52</fullDisplayName><id>52</id><inProgress>false</inProgress><keepLog>false</keepLog><number>52</number><queueId>11435</queueId><result>SUCCESS</result><timestamp>1787815224265</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/52/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</affectedPath><commitId>a4d0150fe26f9ff9b1f9a6de60bdebf753448313</commitId><timestamp>1763017475000</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 SchoolcountryDetector.
</comment><date>2025-11-13 12:34:35 +0530</date><id>a4d0150fe26f9ff9b1f9a6de60bdebf753448313</id><msg>Added SchoolcountryDetector.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.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/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</affectedPath><commitId>944c26ad8e4e5d9a9ae18eba2bed2f23b2e697c2</commitId><timestamp>1763106745000</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 GetCountryForUrlUseCase to lookup the country for a given URL
</comment><date>2025-11-14 13:22:25 +0530</date><id>944c26ad8e4e5d9a9ae18eba2bed2f23b2e697c2</id><msg>added the GetCountryForUrlUseCase to lookup the country for a given URL</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SchoolCountryDetector.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.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/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>0500ce78894c3dbc49d1e7fe491d03ddfedcc8d6</commitId><timestamp>1763111337000</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 implementation of the usecase
</comment><date>2025-11-14 14:38:57 +0530</date><id>0500ce78894c3dbc49d1e7fe491d03ddfedcc8d6</id><msg>Added the implementation of the usecase</msg><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/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>f50adb6ea129658d30648fd1d9f43aa4f43bc83e</commitId><timestamp>1763359219000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>set White flag foe unknown country
</comment><date>2025-11-17 11:30:19 +0530</date><id>f50adb6ea129658d30648fd1d9f43aa4f43bc83e</id><msg>set White flag foe unknown country</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>857f9bce5a3146eddef726bc3df42cdd398d7951</commitId><timestamp>1763371747000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Chnage the Endpoint
</comment><date>2025-11-17 14:59:07 +0530</date><id>857f9bce5a3146eddef726bc3df42cdd398d7951</id><msg>Chnage the Endpoint</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>6b8cc2c66c44a9e8a5e2628e077b201a4e8817f5</commitId><timestamp>1763372021000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Chnage the Endpoint
</comment><date>2025-11-17 15:03:41 +0530</date><id>6b8cc2c66c44a9e8a5e2628e077b201a4e8817f5</id><msg>Chnage the Endpoint</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>c40888ba7613010725454fcbbcf57031287ecc95</commitId><timestamp>1763376701000</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 X-forwared-ip
</comment><date>2025-11-17 16:21:41 +0530</date><id>c40888ba7613010725454fcbbcf57031287ecc95</id><msg>Remove the X-forwared-ip</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><commitId>c2445729a2db6f36e205a21dec7aab5f7fb86d66</commitId><timestamp>1763378720000</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 white flag (default one being for just test purpose)
</comment><date>2025-11-17 16:55:20 +0530</date><id>c2445729a2db6f36e205a21dec7aab5f7fb86d66</id><msg>Remove the white flag (default one being for just test purpose)</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>5825298a09081127a6af65f4ba6556e3c7afdee3</commitId><timestamp>1763455135000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>chane the end pointurl
</comment><date>2025-11-18 14:08:55 +0530</date><id>5825298a09081127a6af65f4ba6556e3c7afdee3</id><msg>chane the end pointurl</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>c9185422cfdbed15882baf3b4841044baab8c72c</commitId><timestamp>1763540629000</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 CountryFlag component for displaying flags
</comment><date>2025-11-19 13:53:49 +0530</date><id>c9185422cfdbed15882baf3b4841044baab8c72c</id><msg>Add CountryFlag component for displaying flags</msg><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><commitId>8e5f308aa64fb2e503a3f1f54b0113338b097bbc</commitId><timestamp>1763626996000</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: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase.
</comment><date>2025-11-20 13:53:16 +0530</date><id>8e5f308aa64fb2e503a3f1f54b0113338b097bbc</id><msg>refactor: use Koin DI in CountryFlag composable for GetCountryForUrlUseCase.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>30564c242c9ad4b487ec539a99fe6edae373c000</commitId><timestamp>1763627461000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify App koin module
</comment><date>2025-11-20 14:01:01 +0530</date><id>30564c242c9ad4b487ec539a99fe6edae373c000</id><msg>Modify App koin module</msg><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/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>183fb85b03da17049b9ef0da7091dfd63fddc39d</commitId><timestamp>1763630034000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify App koin module
</comment><date>2025-11-20 14:43:54 +0530</date><id>183fb85b03da17049b9ef0da7091dfd63fddc39d</id><msg>Modify App koin module</msg><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/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>d3d88c4c5598d5b42ab6d7d15b1a30fdb8721bcb</commitId><timestamp>1763954560000</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: replace string type with URL for schoolUrl
</comment><date>2025-11-24 08:52:40 +0530</date><id>d3d88c4c5598d5b42ab6d7d15b1a30fdb8721bcb</id><msg>refactor: replace string type with URL for schoolUrl</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>ceca96a09687e8f649d769132601772cf9a478a4</commitId><timestamp>1763977117000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></author><authorEmail>lipsa.behera@sutara.org</authorEmail><comment>Modify AppKoin module
</comment><date>2025-11-24 15:08:37 +0530</date><id>ceca96a09687e8f649d769132601772cf9a478a4</id><msg>Modify AppKoin module</msg><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>app-android/build.gradle.kts</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>1bec94de8fef638f449fcbfe56713770973b71c8</commitId><timestamp>1785848961000</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 `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path.
</comment><date>2026-08-04 18:39:21 +0530</date><id>1bec94de8fef638f449fcbfe56713770973b71c8</id><msg>Add `GEOLOCATION_API_ENDPOINT` build config field and update `GetCountryForUrlUseCaseImpl` to use the injected endpoint and new API path.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>4386799be9c5738c67c4e41f7b089fa306498448</commitId><timestamp>1785857096000</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-04 20:54:56 +0530</date><id>4386799be9c5738c67c4e41f7b089fa306498448</id><msg>fix</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><commitId>d997498330fa70ab311cd65d2f24b5153d73d06a</commitId><timestamp>1785918823000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make learning unit consistent with demo.openeel.org.
</comment><date>2026-08-05 12:33:43 +0400</date><id>d997498330fa70ab311cd65d2f24b5153d73d06a</id><msg>Make learning unit consistent with demo.openeel.org.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><commitId>6dfef8e4a6ddbf8e01c8925f31bae2ab65add74f</commitId><timestamp>1785922180000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt
</comment><date>2026-08-05 13:29:40 +0400</date><id>6dfef8e4a6ddbf8e01c8925f31bae2ab65add74f</id><msg>Add retry logic to SchoolDirectoryEntryDataSourceHttp.kt</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><commitId>e29231d5cf47ca457cbc1c28690ebb7eeb85ab04</commitId><timestamp>1785927677000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed.
</comment><date>2026-08-05 15:01:17 +0400</date><id>e29231d5cf47ca457cbc1c28690ebb7eeb85ab04</id><msg>Add text component that can be monitored in Maestro tests to wait for all pending remote writes to be completed.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><commitId>91a9a7096117da5433c92a5129b6ac297918040d</commitId><timestamp>1785930490000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update UstadCacheImpl.kt and test to improve handling closing the database/cache
</comment><date>2026-08-05 15:48:10 +0400</date><id>91a9a7096117da5433c92a5129b6ac297918040d</id><msg>Update UstadCacheImpl.kt and test to improve handling closing the database/cache</msg><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>.maestro/flows/subflows/teardown.yaml</affectedPath><commitId>0402fc938ae40bc5e9a5b8a496a5afa41e7f6407</commitId><timestamp>1785931455000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make maestro tests wait for all pending remote writs to complete.

Add a small hidden text element with the pending remote write count that a maestro test can wait for (avoid clearing the app before saved data is written to server).
</comment><date>2026-08-05 16:04:15 +0400</date><id>0402fc938ae40bc5e9a5b8a496a5afa41e7f6407</id><msg>Make maestro tests wait for all pending remote writs to complete.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/teardown.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><commitId>6fd710da694f06f076eb3e389ac7f145690f9d63</commitId><timestamp>1785952438000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver.

Update UstadCacheInterceptorTest to close mockwebserver after each run.
</comment><date>2026-08-05 21:53:58 +0400</date><id>6fd710da694f06f076eb3e389ac7f145690f9d63</id><msg>Reduce use of cache database closing due to apparent bug in Room Sqlite bundled driver.</msg><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.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-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>74b3e6c5e4f5642ca08c7d494992ad27607f75c7</commitId><timestamp>1785953030000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-08-05 22:03:50 +0400</date><id>74b3e6c5e4f5642ca08c7d494992ad27607f75c7</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>d6a65d188370e080d078ee87dcf2ec054d03309e</commitId><timestamp>1785953050000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-08-05 22:04:10 +0400</date><id>d6a65d188370e080d078ee87dcf2ec054d03309e</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/e2e_artifact_upload.yaml</affectedPath><affectedPath>.maestro/flows/subflows/teardown.yaml</affectedPath><commitId>74df52d811dbfecc0f22f2df7a33faa78eb8c0f3</commitId><timestamp>1785996886000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml
</comment><date>2026-08-06 10:14:46 +0400</date><id>74df52d811dbfecc0f22f2df7a33faa78eb8c0f3</id><msg>moved the command to Wait for all pending remote writes from teardown to e2e_artifact_upload.yaml</msg><path><editType>edit</editType><file>.maestro/flows/subflows/e2e_artifact_upload.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/teardown.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/e2e_artifact_upload.yaml</affectedPath><commitId>abf298829e847550c020cbfb63f03272a0f66b4a</commitId><timestamp>1786000260000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Waiting for pending remote writes to complete is done after setting the device back to online.
</comment><date>2026-08-06 11:11:00 +0400</date><id>abf298829e847550c020cbfb63f03272a0f66b4a</id><msg>Waiting for pending remote writes to complete is done after setting the device back to online.</msg><path><editType>edit</editType><file>.maestro/flows/subflows/e2e_artifact_upload.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/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>7172569c153a05ff49006cb9a94a64443443575c</commitId><timestamp>1786003014000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version.
</comment><date>2026-08-06 11:56:54 +0400</date><id>7172569c153a05ff49006cb9a94a64443443575c</id><msg>Update to use activity id as per tincan.xml when addinga learning unit to an assignment. Bump version.</msg><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/composeResources/values/strings.xml</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>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><commitId>12fdd918e68b5bb65cbf3e7118c21a5e92a98651</commitId><timestamp>1786003662000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove concurrency issue: update cache commit backlog size only after db transaction has finished.
</comment><date>2026-08-06 12:07:42 +0400</date><id>12fdd918e68b5bb65cbf3e7118c21a5e92a98651</id><msg>Remove concurrency issue: update cache commit backlog size only after db transaction has finished.</msg><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><commitId>fcbe0ced3524bf02db779ed27cfd7b875a632a24</commitId><timestamp>1786018385000</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-06 17:43:05 +0530</date><id>fcbe0ced3524bf02db779ed27cfd7b875a632a24</id><msg>fix</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCaseImpl.kt</affectedPath><commitId>ef805d54e6f20b3572f3c636dcbde9e832ca93cc</commitId><timestamp>1786278826000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>GeoIp lookup tidyup
</comment><date>2026-08-09 16:33:46 +0400</date><id>ef805d54e6f20b3572f3c636dcbde9e832ca93cc</id><msg>GeoIp lookup tidyup</msg><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/CountryFlag.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/country/GetCountryForUrlUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.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/domain/country/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryDetection.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><commitId>860d3fae1a870012649be7a8bcd250592d8ecf76</commitId><timestamp>1786386075000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XAPI SQL Query receipe readme.
</comment><date>2026-08-10 22:21:15 +0400</date><id>860d3fae1a870012649be7a8bcd250592d8ecf76</id><msg>Add XAPI SQL Query receipe readme.</msg><path><editType>add</editType><file>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>57c6f948b6b15bde197a40a6a1ad78009d30021d</commitId><timestamp>1786532734000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix cache db migration (migration referenced old field name).
</comment><date>2026-08-12 15:05:34 +0400</date><id>57c6f948b6b15bde197a40a6a1ad78009d30021d</id><msg>Fix cache db migration (migration referenced old field name).</msg><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><commitId>ae128767bf683764bc4ef24a9833b1814a9f05fd</commitId><timestamp>1786955787000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add helper functions for use of statement extension properties.
</comment><date>2026-08-17 09:36:27 +0100</date><id>ae128767bf683764bc4ef24a9833b1814a9f05fd</id><msg>Add helper functions for use of statement extension properties.</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportOptions.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportPeriod.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportSeries.kt</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/StatementReportRow.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Indicator.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><commitId>ded5fe5d6b7603b848bc5d16baca96a4accae55b</commitId><timestamp>1787149595000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add model class for XapiSqlQueryResponse. Move report options into xapi module.
</comment><date>2026-08-19 18:26:35 +0400</date><id>ded5fe5d6b7603b848bc5d16baca96a4accae55b</id><msg>Add model class for XapiSqlQueryResponse. Move report options into xapi module.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportSeries.kt</file></path><path><editType>add</editType><file>app-android/README.md</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/StatementReportRow.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportPeriod.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Indicator.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportOptions.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/report/DefaultIndicators.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/MessageData.kt</affectedPath><affectedPath>lib-cache-ipc-core/build.gradle.kts</affectedPath><affectedPath>lib-ipc-messagebridge/src/androidTest/java/org/openeel/lib/ipc/messagebridge/ExampleInstrumentedTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-core/.gitignore</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/keepRules/rules.keep</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>lib-ipc-messagebridge/README.md</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/MessageData.kt</affectedPath><affectedPath>lib-cache-ipc-core/src/main/keepRules/rules.keep</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-ipc-messagebridge/consumer-rules.keep</affectedPath><affectedPath>lib-cache-ipc-core/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-core/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>lib-cache-ipc-core/src/test/java/org/openeel/libcache/ipc/core/ExampleUnitTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessageExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcMessageBridgeServiceConnectionImpl.kt</affectedPath><affectedPath>lib-cache-ipc-core/consumer-rules.keep</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeTags.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeWhatFlags.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridge.kt</affectedPath><affectedPath>lib-ipc-messagebridge/.gitignore</affectedPath><affectedPath>lib-ipc-messagebridge/build.gradle.kts</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ext/MessageExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcWhatFlags.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeServiceConnectionImpl.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/test/java/org/openeel/lib/ipc/messagebridge/ExampleUnitTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiMessageBridge.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><commitId>5069f82baddf1858ad45dc66247289c8660046fb</commitId><timestamp>1787223862000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Move message bridge into a separate module so it can be shared by both the xAPI IPC client and the cache IPC client.
</comment><date>2026-08-20 15:04:22 +0400</date><id>5069f82baddf1858ad45dc66247289c8660046fb</id><msg>Move message bridge into a separate module so it can be shared by both the xAPI IPC client and the cache IPC client.</msg><path><editType>add</editType><file>lib-cache-ipc-core/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridgeMessengerImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-core/consumer-rules.keep</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/MessageData.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/MessageData.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/.gitignore</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ext/MessageExt.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-core/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-core/.gitignore</file></path><path><editType>edit</editType><file>respect-lib-test-resources/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeServiceConnectionImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-cache-ipc-core/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcMessageBridgeServiceConnectionImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcWhatFlags.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/androidTest/java/org/openeel/lib/ipc/messagebridge/ExampleInstrumentedTest.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/test/java/org/openeel/lib/ipc/messagebridge/ExampleUnitTest.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessageExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiMessageBridgeMessengerImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridge.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeTags.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-cache-ipc-core/src/test/java/org/openeel/libcache/ipc/core/ExampleUnitTest.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeWhatFlags.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/consumer-rules.keep</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/README.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiMessageBridge.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-cache-ipc-shared/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-core/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-core/consumer-rules.keep</affectedPath><affectedPath>lib-cache-ipc-shared/build.gradle.kts</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-shared/consumer-rules.keep</affectedPath><affectedPath>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>lib-cache-ipc-core/.gitignore</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</affectedPath><affectedPath>lib-cache-ipc-core/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</affectedPath><affectedPath>lib-cache-ipc-core/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-core/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</affectedPath><affectedPath>lib-cache-ipc-core/src/test/java/org/openeel/libcache/ipc/core/ExampleUnitTest.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-shared/.gitignore</affectedPath><commitId>bd96061dc91fc8aef598c4fb97d6bd4e9b253286</commitId><timestamp>1787231784000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of converting an OKHttp Request to/from a bundle.
</comment><date>2026-08-20 17:16:24 +0400</date><id>bd96061dc91fc8aef598c4fb97d6bd4e9b253286</id><msg>Initial implementation of converting an OKHttp Request to/from a bundle.</msg><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/consumer-rules.keep</file></path><path><editType>delete</editType><file>lib-cache-ipc-core/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-core/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-core/src/test/java/org/openeel/libcache/ipc/core/ExampleUnitTest.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-core/.gitignore</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-core/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>lib-cache-ipc-core/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-core/consumer-rules.keep</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/ResponseAdapterUnitTest.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</affectedPath><commitId>02dfe00a5629d3332074f18a21169137223d9b9e</commitId><timestamp>1787248807000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of adapter to handle converting Response to/from Android Bundle
</comment><date>2026-08-20 22:00:07 +0400</date><id>02dfe00a5629d3332074f18a21169137223d9b9e</id><msg>Initial implementation of adapter to handle converting Response to/from Android Bundle</msg><path><editType>edit</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/ResponseAdapterUnitTest.kt</file></path><path><editType>edit</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</file></path><path><editType>edit</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-cache-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-cache-ipc-client/.gitignore</affectedPath><affectedPath>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/ResponseAdapterUnitTest.kt</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/MessengerProvider.kt</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-client/consumer-rules.keep</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridge.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridge.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-cache-ipc-server/.gitignore</affectedPath><affectedPath>lib-cache-ipc-client/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcIntent.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeServiceConnectionImpl.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-cache-ipc-server/consumer-rules.keep</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-cache-ipc-client/build.gradle.kts</affectedPath><commitId>eeea4bb4cb73957c34ec59a626212c52464f1e45</commitId><timestamp>1787336515000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of IpcHttpClient with a very basic hello world test to make a real http call over IPC.
</comment><date>2026-08-21 22:21:55 +0400</date><id>eeea4bb4cb73957c34ec59a626212c52464f1e45</id><msg>Initial implementation of IpcHttpClient with a very basic hello world test to make a real http call over IPC.</msg><path><editType>add</editType><file>lib-cache-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridge.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-server/.gitignore</file></path><path><editType>delete</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/XapiMessageBridgeMessengerImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-client/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>edit</editType><file>lib-cache-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/MessengerProvider.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ExampleInstrumentedTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-server/consumer-rules.keep</file></path><path><editType>add</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-client/consumer-rules.keep</file></path><path><editType>edit</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-client/build.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/ResponseAdapterUnitTest.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeServiceConnectionImpl.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcIntent.kt</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridge.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-cache-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache-ipc-server/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcTags.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/RespectApp.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>44b9906f5d0a1e387227cb1768bfc21c88785605</commitId><timestamp>1787406616000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>IpcHttpClient working with DemoLaunchableApp to send/receive http responses.
</comment><date>2026-08-22 17:50:16 +0400</date><id>44b9906f5d0a1e387227cb1768bfc21c88785605</id><msg>IpcHttpClient working with DemoLaunchableApp to send/receive http responses.</msg><path><editType>edit</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>add</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcTags.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</file></path><path><editType>edit</editType><file>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</file></path><path><editType>edit</editType><file>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path><path><editType>edit</editType><file>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/RespectApp.kt</file></path><path><editType>edit</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>43e756c013940cb3b35b2934d6c267a205aba495</commitId><timestamp>1787567564000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update IpcHttpService to run outgoing http request asynchronously.
</comment><date>2026-08-24 14:32:44 +0400</date><id>43e756c013940cb3b35b2934d6c267a205aba495</id><msg>Update IpcHttpService to run outgoing http request asynchronously.</msg><path><editType>edit</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</file></path><path><editType>edit</editType><file>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-http-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</affectedPath><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcTags.kt</affectedPath><affectedPath>lib-http-ipc-shared/consumer-rules.keep</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcTags.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</affectedPath><affectedPath>lib-cache-ipc-shared/consumer-rules.keep</affectedPath><affectedPath>lib-http-ipc-client/build.gradle.kts</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</affectedPath><affectedPath>lib-http-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-client/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-server/.gitignore</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>lib-cache-ipc-server/consumer-rules.keep</affectedPath><affectedPath>lib-http-ipc-server/.gitignore</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-cache-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcIntent.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</affectedPath><affectedPath>lib-cache-ipc-client/.gitignore</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</affectedPath><affectedPath>lib-http-ipc-server/consumer-rules.keep</affectedPath><affectedPath>lib-http-ipc-client/.gitignore</affectedPath><affectedPath>lib-http-ipc-client/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-http-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-cache-ipc-shared/.gitignore</affectedPath><affectedPath>lib-http-ipc-shared/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-cache-ipc-client/consumer-rules.keep</affectedPath><affectedPath>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</affectedPath><affectedPath>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>lib-http-ipc-server/src/main/keepRules/rules.keep</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcIntent.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</affectedPath><affectedPath>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</affectedPath><affectedPath>lib-http-ipc-shared/.gitignore</affectedPath><affectedPath>lib-cache-ipc-client/build.gradle.kts</affectedPath><affectedPath>lib-http-ipc-client/consumer-rules.keep</affectedPath><commitId>22c69115ed7de726e828e155cdf169f5bf9079ec</commitId><timestamp>1787579765000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Change package names for http-ipc.

HTTP-IPC is not really limited to caching: remove the word cache from the module names.
</comment><date>2026-08-24 17:56:05 +0400</date><id>22c69115ed7de726e828e155cdf169f5bf9079ec</id><msg>Change package names for http-ipc.</msg><path><editType>delete</editType><file>lib-cache-ipc-client/build.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-http-ipc-server/.gitignore</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-client/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/main/keepRules/rules.keep</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/consumer-rules.keep</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/keepRules/rules.keep</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/.gitignore</file></path><path><editType>add</editType><file>lib-http-ipc-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcIntent.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcIntent.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-http-ipc-shared/consumer-rules.keep</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</file></path><path><editType>add</editType><file>lib-http-ipc-client/.gitignore</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/OkHttpClientProvider.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/.gitignore</file></path><path><editType>add</editType><file>lib-http-ipc-client/consumer-rules.keep</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>lib-cache-ipc-client/.gitignore</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcTags.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/consumer-rules.keep</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</file></path><path><editType>add</editType><file>lib-http-ipc-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/keepRules/rules.keep</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcTags.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/.gitignore</file></path><path><editType>delete</editType><file>lib-cache-ipc-client/consumer-rules.keep</file></path><path><editType>delete</editType><file>lib-cache-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/consumer-rules.keep</file></path><path><editType>delete</editType><file>lib-cache-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/ext/ResponseBuilderExt.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>6371e2d38979f95450f57306e470a94b5faf911b</commitId><timestamp>1787637218000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use WeakReferences for calls in IpcHttpClientImpl

Returns 502 gateway error response in case of call exception.

Mkae IpcHttpClient closeable.
</comment><date>2026-08-25 09:53:38 +0400</date><id>6371e2d38979f95450f57306e470a94b5faf911b</id><msg>Use WeakReferences for calls in IpcHttpClientImpl</msg><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/ext/ResponseBuilderExt.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><commitId>745b7d07ba31d42f7a73d7eb044ce3ae9bccb774</commitId><timestamp>1787643201000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use ExecutorService instead of new thread creation when handling IPC http request/response bodies.
</comment><date>2026-08-25 11:33:21 +0400</date><id>745b7d07ba31d42f7a73d7eb044ce3ae9bccb774</id><msg>Use ExecutorService instead of new thread creation when handling IPC http request/response bodies.</msg><path><editType>edit</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/src/androidMain/assets/media/video.mp4</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/MockWebServerAssetDispatcher.kt</affectedPath><commitId>bdb503ef7365cf0ed42f234d04bd65604e172aa1</commitId><timestamp>1787651892000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update HttpIpcIntegrationTest to use an asset dispatcher so other files types can be tested.
</comment><date>2026-08-25 13:58:12 +0400</date><id>bdb503ef7365cf0ed42f234d04bd65604e172aa1</id><msg>Update HttpIpcIntegrationTest to use an asset dispatcher so other files types can be tested.</msg><path><editType>edit</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/MockWebServerAssetDispatcher.kt</file></path><path><editType>add</editType><file>respect-lib-test-resources/src/androidMain/assets/media/video.mp4</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/MockWebServerAssetDispatcher.kt</affectedPath><commitId>e6e6cf3cda977fb2f33d97b171cc9b44ee1a924d</commitId><timestamp>1787652751000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add tests on HttpIpc error handling
</comment><date>2026-08-25 14:12:31 +0400</date><id>e6e6cf3cda977fb2f33d97b171cc9b44ee1a924d</id><msg>Add tests on HttpIpc error handling</msg><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/MockWebServerAssetDispatcher.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcKeys.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcWhat.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/HeadersAdapter.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/TimeoutAdapter.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/ext/MockResponseBuilderExt.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</affectedPath><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/MockWebServerAssetDispatcher.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/RequestAdapter.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/ResponseAdapter.kt</affectedPath><commitId>e2cd15e416d4595dd418d6cf6be2e88c3f7c2c71</commitId><timestamp>1787665269000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve HttpIpc error handling and timeout handling.
</comment><date>2026-08-25 17:41:09 +0400</date><id>e2cd15e416d4595dd418d6cf6be2e88c3f7c2c71</id><msg>Improve HttpIpc error handling and timeout handling.</msg><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/ResponseAdapter.kt</file></path><path><editType>delete</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/RequestAdapter.kt</file></path><path><editType>delete</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HeadersAdapter.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/HeadersAdapterUnitTest.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/TimeoutAdapter.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcWhat.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/ext/MockResponseBuilderExt.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/ResponseAdapterTest.kt</file></path><path><editType>delete</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/ResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/HttpIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/MockWebServerAssetDispatcher.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>delete</editType><file>lib-http-ipc-shared/src/test/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/IpcTestApplication.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/androidTest/java/org/openeel/libcache/ipc/core/RequestAdapterUnitTest.kt</file></path><path><editType>delete</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/IpcHttpKeys.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/RequestAdapter.kt</file></path><path><editType>add</editType><file>lib-http-ipc-shared/src/main/kotlin/org/openeel/libcache/ipc/core/adapters/HeadersAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcCall.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClient.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClientImpl.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</affectedPath><commitId>eb58287144981889207910613c05ee33117a7a75</commitId><timestamp>1787728611000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add test of socket exception
</comment><date>2026-08-26 11:16:51 +0400</date><id>eb58287144981889207910613c05ee33117a7a75</id><msg>Add test of socket exception</msg><path><editType>delete</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClient.kt</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClient.kt</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcCall.kt</file></path><path><editType>delete</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpClientImpl.kt</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClientImpl.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>delete</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/IpcHttpCall.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClientBuilder.kt</affectedPath><affectedPath>lib-http-ipc-client/README.md</affectedPath><affectedPath>lib-http-ipc-shared/README.md</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>81a761a0c9c42868b6c5e5089e6f10eca70e3613</commitId><timestamp>1787732935000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add HttpIpcClientBuilder and some related READMEs.
</comment><date>2026-08-26 12:28:55 +0400</date><id>81a761a0c9c42868b6c5e5089e6f10eca70e3613</id><msg>Add HttpIpcClientBuilder and some related READMEs.</msg><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.kt</file></path><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClientBuilder.kt</file></path><path><editType>add</editType><file>lib-http-ipc-client/README.md</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>add</editType><file>lib-http-ipc-shared/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</affectedPath><affectedPath>lib-http-ipc-client/README.md</affectedPath><affectedPath>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/HttpIpcService.kt</affectedPath><commitId>d8b97c1de66010b77ce2b0a760155ebaf1c3b6c6</commitId><timestamp>1787750012000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update naming on HttpIpcService. Add ready to uncomment code to allow for testing of HttpIpc using the WebViewActivity.
</comment><date>2026-08-26 17:13:32 +0400</date><id>d8b97c1de66010b77ce2b0a760155ebaf1c3b6c6</id><msg>Update naming on HttpIpcService. Add ready to uncomment code to allow for testing of HttpIpc using the WebViewActivity.</msg><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>edit</editType><file>lib-http-ipc-server/src/androidTest/java/org/openeel/libcache/ipc/server/HttpIpcIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/IpcHttpService.kt</file></path><path><editType>add</editType><file>lib-http-ipc-server/src/main/kotlin/org/openeel/libcache/ipc/server/HttpIpcService.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/README.md</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/interceptor/HttpIpcInterceptor.kt</affectedPath><commitId>fc2efc33754007856ddf009ac1e2ed0845493a40</commitId><timestamp>1787756454000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add OKHttp interceptor to use response from HttpIpc when already cached.
</comment><date>2026-08-26 19:00:54 +0400</date><id>fc2efc33754007856ddf009ac1e2ed0845493a40</id><msg>Add OKHttp interceptor to use response from HttpIpc when already cached.</msg><path><editType>add</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/interceptor/HttpIpcInterceptor.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClientImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcCall.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>e6851270e820de92048ffbc0faf424b1834e7e32</commitId><timestamp>1787765587000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Tidyup HttpIpcCall. Update demo to include image.
</comment><date>2026-08-26 21:33:07 +0400</date><id>e6851270e820de92048ffbc0faf424b1834e7e32</id><msg>Tidyup HttpIpcCall. Update demo to include image.</msg><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcCall.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-client/src/main/kotlin/org/openeel/libcache/ipc/client/HttpIpcClientImpl.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/ServiceConnectionMessengerProvider.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>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>876b1ab4ddae186dc0d801d77883c8c96b43b25d</commitId><timestamp>1787814555000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-08-27 11:09:15 +0400</date><id>876b1ab4ddae186dc0d801d77883c8c96b43b25d</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><kind>git</kind></changeSet><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><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>51</buildNumber><marked><SHA1>b14d70228ade3d0a0282bced3d341c9b8a984f93</SHA1><branch><SHA1>b14d70228ade3d0a0282bced3d341c9b8a984f93</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>b14d70228ade3d0a0282bced3d341c9b8a984f93</SHA1><branch><SHA1>b14d70228ade3d0a0282bced3d341c9b8a984f93</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>b14d70228ade3d0a0282bced3d341c9b8a984f93</SHA1><branch><SHA1>b14d70228ade3d0a0282bced3d341c9b8a984f93</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.35.zip</displayPath><fileName>respect-cli-1.0.35.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.35.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.35.zip</displayPath><fileName>respect-server-1.0.35.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.35.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.35.zip</displayPath><fileName>respect-server-shadow-1.0.35.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.35.zip</relativePath></artifact><building>false</building><displayName>#51</displayName><duration>156892</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #51</fullDisplayName><id>51</id><inProgress>false</inProgress><keepLog>false</keepLog><number>51</number><queueId>10979</queueId><result>SUCCESS</result><timestamp>1785914610157</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/51/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><commitId>b14d70228ade3d0a0282bced3d341c9b8a984f93</commitId><timestamp>1785914385000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make terminology consistent: use collection instead of catalog.
</comment><date>2026-08-05 11:19:45 +0400</date><id>b14d70228ade3d0a0282bced3d341c9b8a984f93</id><msg>Make terminology consistent: use collection instead of catalog.</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _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>49</buildNumber><marked><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#49</displayName><duration>166801</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #49</fullDisplayName><id>49</id><inProgress>false</inProgress><keepLog>false</keepLog><number>49</number><queueId>10948</queueId><result>SUCCESS</result><timestamp>1785826921293</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/49/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _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>48</buildNumber><marked><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#48</displayName><duration>157546</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #48</fullDisplayName><id>48</id><inProgress>false</inProgress><keepLog>false</keepLog><number>48</number><queueId>10929</queueId><result>SUCCESS</result><timestamp>1785740521293</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/48/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _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>47</buildNumber><marked><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><branch><SHA1>52845f44836ba14427dd22dbeb7169292931effa</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#47</displayName><duration>154281</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #47</fullDisplayName><id>47</id><inProgress>false</inProgress><keepLog>false</keepLog><number>47</number><queueId>10909</queueId><result>SUCCESS</result><timestamp>1785654120420</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/47/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><commitId>62688c7fe742af0eaf0396c76297482ed4c3b9b7</commitId><timestamp>1785596640000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improvements to reduce potential flakiness in Login and improve authentication logging.
</comment><date>2026-08-01 19:04:00 +0400</date><id>62688c7fe742af0eaf0396c76297482ed4c3b9b7</id><msg>Improvements to reduce potential flakiness in Login and improve authentication logging.</msg><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>respect-lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>gradle/wrapper/gradle-wrapper.properties</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>52845f44836ba14427dd22dbeb7169292931effa</commitId><timestamp>1785599456000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Dependency version updates.
</comment><date>2026-08-01 19:50:56 +0400</date><id>52845f44836ba14427dd22dbeb7169292931effa</id><msg>Dependency version updates.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-lib-ihttp-core/build.gradle.kts</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>respect-lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle/wrapper/gradle-wrapper.properties</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _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>46</buildNumber><marked><SHA1>d290141a45d04b62ac859482d07c3c209b5ee129</SHA1><branch><SHA1>d290141a45d04b62ac859482d07c3c209b5ee129</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>d290141a45d04b62ac859482d07c3c209b5ee129</SHA1><branch><SHA1>d290141a45d04b62ac859482d07c3c209b5ee129</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>d290141a45d04b62ac859482d07c3c209b5ee129</SHA1><branch><SHA1>d290141a45d04b62ac859482d07c3c209b5ee129</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#46</displayName><duration>154453</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #46</fullDisplayName><id>46</id><inProgress>false</inProgress><keepLog>false</keepLog><number>46</number><queueId>10886</queueId><result>SUCCESS</result><timestamp>1785567720420</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/46/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/admin_add_new_student_to_class.yaml</affectedPath><affectedPath>.maestro/flows/subflows/add_person_create_account.yaml</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_student.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_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>7dcdde677d98a6a3b10e72d4c0a1150c2f68e93a</commitId><timestamp>1785415095000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Improve Maestro test stability
</comment><date>2026-07-30 16:38:15 +0400</date><id>7dcdde677d98a6a3b10e72d4c0a1150c2f68e93a</id><msg>Improve Maestro test stability</msg><path><editType>edit</editType><file>.maestro/flows/subflows/add_person_create_account.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/002_001_browse_lessons_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/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/subflows/admin_add_new_student_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><commitId>faa61f31a71b8ee63ff42eeb83663138a65bdf35</commitId><timestamp>1785493292000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update PinPublicationPrepareUseCase to include the manifest itself and images.
</comment><date>2026-07-31 14:21:32 +0400</date><id>faa61f31a71b8ee63ff42eeb83663138a65bdf35</id><msg>Update PinPublicationPrepareUseCase to include the manifest itself and images.</msg><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><commitId>81ec123a349ff08a6f530ab152003c911a9e9f21</commitId><timestamp>1785495341000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Improve logging for UstadCacheInterceptor and ConnectivityMonitorAndroid.kt
</comment><date>2026-07-31 14:55:41 +0400</date><id>81ec123a349ff08a6f530ab152003c911a9e9f21</id><msg>Improve logging for UstadCacheInterceptor and ConnectivityMonitorAndroid.kt</msg><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><commitId>b866879743dfc1c1cc1b471ce1af3d6c40988cf7</commitId><timestamp>1785497367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add logging on UstadCacheInterceptor even when not applying further processing.
</comment><date>2026-07-31 15:29:27 +0400</date><id>b866879743dfc1c1cc1b471ce1af3d6c40988cf7</id><msg>Add logging on UstadCacheInterceptor even when not applying further processing.</msg><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>ci-run-e2e-tests.sh</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><commitId>d290141a45d04b62ac859482d07c3c209b5ee129</commitId><timestamp>1785526145000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update UstadCache to use a Channel to batch and execute database updates instead of an interval.

The interval approach led to flakey test results when the app was killed before updates were committed to the database.
</comment><date>2026-07-31 23:29:05 +0400</date><id>d290141a45d04b62ac859482d07c3c209b5ee129</id><msg>Update UstadCache to use a Channel to batch and execute database updates instead of an interval.</msg><path><editType>add</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>edit</editType><file>.maestro/README.md</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>edit</editType><file>ci-run-e2e-tests.sh</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></build><build _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>45</buildNumber><marked><SHA1>beec082677ecfe343236c083f1545d158453e63f</SHA1><branch><SHA1>beec082677ecfe343236c083f1545d158453e63f</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>beec082677ecfe343236c083f1545d158453e63f</SHA1><branch><SHA1>beec082677ecfe343236c083f1545d158453e63f</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>beec082677ecfe343236c083f1545d158453e63f</SHA1><branch><SHA1>beec082677ecfe343236c083f1545d158453e63f</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#45</displayName><duration>156065</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #45</fullDisplayName><id>45</id><inProgress>false</inProgress><keepLog>false</keepLog><number>45</number><queueId>10861</queueId><result>SUCCESS</result><timestamp>1785481320420</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/45/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>97ac20242d7390216f788048a1b7854592ce390c</commitId><timestamp>1785405360000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update README.md

Update README.md to specify using the latest stable channel version of Android Studio
</comment><date>2026-07-30 13:56:00 +0400</date><id>97ac20242d7390216f788048a1b7854592ce390c</id><msg>Update README.md</msg><path><editType>edit</editType><file>README.md</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-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/6.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.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><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>.maestro/flows/002_002_browse_demo_app_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/5.json</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/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</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/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.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/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/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>.maestro/flows/001_003_login_using_school_link_test.yaml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>.maestro/flows/subflows/admin_add_app.yaml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.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>beec082677ecfe343236c083f1545d158453e63f</commitId><timestamp>1785408254000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Dev bookmark xapi (#272)

* Add bookmark button to lesson details

* Add bookmark functionality for learning units

Key changes include:
- Updating the `OpdsDataSource` interface and its implementations (`OpdsDataSourceRepository`, `OpdsDataSourceDb`) to handle observing and setting bookmark status.
- Adding a `BookmarkEntity` and `BookmarkDao` to the database schema to persist bookmark state.
- Implementing the bookmark logic in the `LearningUnitDetailViewModel`, which now observes and updates the bookmark status.
- The bookmark button in `LearningUnitDetailScreen` now dynamically changes its icon based on whether the unit is bookmarked.

* feat: Add bookmark data layer

Introduced the data layer components required for managing publication bookmarks.

This includes:
- A `BookmarkEntity` to store bookmark status and timestamp.
- A `BookmarkDao` with functions to insert/update bookmarks, observe a single bookmark's status, and retrieve all bookmarked publications.
- An implementation in `OpdsDataSourceDb` to get a flow of bookmarked `OpdsPublication` objects.
- An update to `ReadiumLinkEntityDao` to find all links associated with a publication UID.

* feat: Implement fetching of bookmarked publications

This commit introduces the functionality to retrieve a list of all bookmarked publications from the local database.

Key changes:

-   Added `getBookmarkedPublications()` to the `OpdsDataSource` interface.
-   Implemented the new function in `OpdsDataSourceRepository` to delegate the call to the local data source.
-   In `OpdsDataSourceDb`, the implementation now fetches bookmarked publication entities from `BookmarkDao` and maps them to `OpdsPublication` models.
-   Updated the `OpdsDataSourceHttp` stub to include the new interface method.

* feat: Store title and timestamp for bookmarks

This change enhances the bookmarking functionality by storing the title of the bookmarked item and implicitly tracking when it was last updated.

Key changes include:
- Updating the `setBookmarkStatus` function across the `OpdsDataSource` interface and its implementations (`OpdsDataSourceDb`, `OpdsDataSourceRepository`, `OpdsDataSourceHttp`) to accept a `title` parameter.
- Modifying the `BookmarkDao` to no longer retrieve `OpdsPublicationEntity` objects directly. Instead, a new `observeAllBookmarks` function returns a flow of `BookmarkEntity` objects, ordered by their update timestamp.
- The `LearningUnitDetailViewModel` now passes the lesson title when setting the bookmark status.
- The `OpdsDataSourceDb` was updated to implement these DAO changes and now provides a `getAllBookmarks` function.

* Implement fetching of all bookmarks
This commit introduces the functionality to retrieve a list of all bookmarks.

* Display app name and icon on learning unit detail screen

* Store subtitle and app icon for bookmarks

* Store subtitle and app icon for bookmarks

* Improve code formatting in OpdsDataSourceDb

* Improve code formatting in OpdsDataSourceDb

* Implement bookmark list screen

* Implement bookmark list screen

* Implement bookmark list screen

* Implement bookmark list screen

* Implement bookmark list screen

* Implement bookmark list screen

* Refactor bookmarking logic to toggle status

This commit refactors the bookmarking functionality. Instead of explicitly passing a boolean to set the bookmark status, the `setBookmarkStatus` function now toggles the state. If a bookmark exists, it's removed; otherwise, a new one is created.

This change simplifies the bookmarking logic across the data layers and the view model. Additionally, the bookmark list screen now allows for the removal of bookmarks.

* Refactor bookmarking logic to toggle status

This commit refactors the bookmarking functionality. Instead of explicitly passing a boolean to set the bookmark status, the `setBookmarkStatus` function now toggles the state. If a bookmark exists, it's removed; otherwise, a new one is created.

This change simplifies the bookmarking logic across the data layers and the view model. Additionally, the bookmark list screen now allows for the removal of bookmarks.

* Delete respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json

* Refactor bookmarking logic to toggle status

This commit refactors the bookmarking functionality. Instead of explicitly passing a boolean to set the bookmark status, the `setBookmarkStatus` function now toggles the state. If a bookmark exists, it's removed; otherwise, a new one is created.

This change simplifies the bookmarking logic across the data layers and the view model. Additionally, the bookmark list screen now allows for the removal of bookmarks.

* Refactor bookmarking logic to toggle status

* Refactor: Enhance bookmark data and enable navigation

* Seperation of bookmark implementation

* Seperation of bookmark implementation

* Update bookmark data model to include learning unit URL

* Update bookmark

* Move bookmarking logic from respect app data source to school data source

* Update bookmark logic to use enum to delete

* Rename bookmark observation methods to getBookmarkStatus and getAllBookmarks

* Rename bookmark observation methods to getBookmarkStatus and getAllBookmarks

* Refactor bookmarking logic to use Bookmark model and toggle status

* Refactor bookmarking logic to use Bookmark model and toggle status

* Refactor bookmarking logic to use Bookmark model and toggle status

* Refactor bookmarking logic to use Bookmark model and toggle status

* Rename Bookmark field learningUnitUrl to learningUnitManifestUrl

This commit renames the `learningUnitUrl` property in the `Bookmark` data class to `learningUnitManifestUrl` for better clarity and consistency with other parts of the codebase.

The changes include:
- Updating the `Bookmark` model definition.
- Updating the `BookmarkAdapter` mapping logic to reflect the rename.
- Adjusting usages in `LearningUnitDetailViewModel` and `BookmarkListViewModel`.
- Updating the database access logic in `BookmarkDataSourceDb`.
- Cleaning up unused imports.

* Rename Bookmark field learningUnitUrl to learningUnitManifestUrl

* Added playlist test

* Move bookmark-related database components to the school package

* Move bookmark-related database components to the school package

* Added bookmark test

* Add user identification to bookmark database components

* Add user identification to bookmark database components

* Add user identification to bookmark database components

* Update bookmark storage logic

* Implement bookmark toggling and update database components

* Refactor bookmark data layer to use unique identifiers and timestamps

* Refactor bookmark data layer to use composite primary keys and remove UID generation logic

* Refactor bookmark data layer to use composite primary keys and remove UID generation logic

* Clean up code and refactor bookmark icon logic

* Implement bookmark data layer including HTTP, DB, and Repository components

* Update Bookmark model and data layer to support titles, subtitles, and images.

- Add `title`, `subtitle`, and `imageUrl` properties to the `Bookmark` model.
- Implement `BookmarkEntities` and `PublicationWithDetails` in the DB layer to handle relational data for bookmarks and OPDS publications.
- Update `BookmarkDao` and `BookmarkDataSourceDb` to return bookmarks with their associated publication details.
- Refactor `BookmarkListScreen` to display bookmark images and text content.
- Add navigation logic to `AppLauncherViewModel` for navigating to the bookmark list.
- Minor clean up and documentation updates in OPDS and Bookmark entities.

* Remove title, subtitle, and image fields from Bookmark model and DAO logic

* Add localized title support to bookmarks and update database relations

* Refactor LearningUnitDetailViewModel and clean up unused imports and whitespace.

* Update Bookmark model and data layer to include subtitles and improve app detail handling in LearningUnitDetailScreen.

* Remove properties

* Update BookmarkListViewModel to use LoadingUiState and clean up imports

* Update BookmarkListViewModel to use LoadingUiState and clean up imports

* Update BookmarkListViewModel to use LoadingUiState and clean up imports

* Update BookmarkListViewModel to use LoadingUiState and clean up imports

* Clean up formatting in BookmarkDao

* Clean up formatting in BookmarkAdapter.kt

* Clean up

* Clean up

* Clean up

* Clean up LearningUnitDetailViewModel constructor and improve code formatting

* Add image URL support to Bookmark model and UI components

* Add BookmarkEntity to database schema and implement navigation to bookmark list from app launcher.

* Add BookmarkEntity to database schema and implement navigation to bookmark list from app launcher.

* Add BookmarkEntity to database schema and implement navigation to bookmark list from app launcher.

* Added lesson002 and updated test

* Implement bookmark navigation and fix data synchronization in BookmarkListViewModel

* Update bookmark implementation to include application manifest URLs and app metadata.

* commented bookmark code for playlist screen

* commented bookmark code for playlist screen

* Update bookmark implementation to include application manifest URLs and app metadata.

* Update bookmark data layer, database entities, and cleanup ViewModel logic

* Rename findBookmarks to findBookmarksWithMissingPublication and update loading logic in BookmarkListViewModel

* Implement getBookmarkLastModified and findByUidList in BookmarkDao and BookmarkDataSourceDb

* Register Bookmark components in RespectSchoolDatabase and update OPDS package imports

* Register Bookmark components in RespectSchoolDatabase and update OPDS package imports

* Add language, grade, and type fields to Bookmark model and display them in BookmarkListScreen

* Update navigation labels to "Home" and integrate BookmarkListScreen into HomeScreen

- Rename "Apps" navigation label to "Home" across `App.kt`, `AppLauncherViewModel`, and `BookmarkListViewModel`.
- Update `HomeScreen` to include a new "Bookmarks" tab alongside the existing "Apps" tab.
- Refactor `BookmarkListScreen` UI: remove redundant styling boxes/borders around icons and adjust icon sizing.
- Update `strings.xml` to include new "home" and "bookmarks" resources and update the bookmark empty state message.
- Update Maestro flow test to reflect UI text changes.

* Update navigation labels to "Home" and integrate BookmarkListScreen into HomeScreen

* Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen

* Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen

* Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen

* Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen

* Update UI layout and styling in BookmarkListScreen.kt

* Update UI layout and styling in BookmarkListScreen.kt

* Move no_bookmark image to shared resources and update BookmarkListScreen usage

* Implement `listAsFlow` in `BookmarkDataSource` and update `BookmarkListViewModel` to reactive flow

Instead Of using Paging Source I am using List as Flow because-App loading per item getting messy with paging

* Implement paging support for BookmarkDataSource across DB, HTTP, and Repository layers

* Remove redundant comments in BookmarkListViewModel

* Introduce `BookmarkDetails` to associate bookmarks with their corresponding application data and refactor `BookmarkListViewModel` to load these details concurrently.

* Update Maestro flows

* test - update Maestro flow for lesson browsing

* Update Maestro test flows

*   **002_browse_lessons_test.yaml**: Updated the "Bookmark" tap index from 1 to 0 and commented out several assertion and undo steps.

* Update Maestro test flows

* Update Maestro test flows

* Update BookmarkDataSource and related components to support includeDeleted parameter and fix BookmarkDao query

* Update SnackBar implementation to support actions and implement undo functionality for bookmark removal

*   Modify `App.kt` to handle `SnackbarResult` and trigger the snackbar's `onAction` callback.
*   Update `BookmarkListViewModel` to use `SnackBarDispatcher` and provide an "Undo" action when removing a bookmark.
*   Add `remove_bookmark` and `undo` string resources.

* Implement `UiText.asString()` extension and update `Snack` to support `UiText` actions

* Use default snackbar duration in App.kt

* test is failing as Snack bar appears but due to duration by the time tapOn Undo is triggered it disappears

* test: Update browse lessons Maestro flow with additional assertions

* test: update browse lessons Maestro flow

* Updated `002_browse_lessons_test.yaml` Maestro flow

* test: update Maestro browse lessons flow

* test is failing as Snack bar appears but due to duration by the time tapOn Undo is triggered it disappears

* Format code and apply style improvements across bookmark and data layer components

* Update icon URI handling in Bookmark and LearningUnit detail screens and resolve publication URLs in ViewModels

* Update snackbar message handling to support StringUiText and StringResourceUiText in App.kt

* Update snackbar message handling to support StringUiText and StringResourceUiText in App.kt

* Update bookmark query field and remote sync logic.

* Refactor data loading state and clean up bookmark-related logic.

- Move `DataLoadState`, `DataLoadParams`, and related extensions from `world.respect.datalayer` to `world.respect.lib.dataloadstate`.
- Remove `UiText.asString()` extension in favor of explicit `when` branches in the `App` composable.
- Remove `AssignmentDataSource` and related references across the data layer and server routes.
- Replace `getTitle()` with `langMapString()` for title resolution in `BookmarkListScreen` and `LearningUnitDetailScreen`.
- Fix parameter mapping in `LearningUnitDetailViewModel` to use `learningUnitManifestUrl` and update bookmark storage logic.
- Clean up unused imports and duplicate string resources.

* Add `gradle-daemon-jvm.properties` to specify Java 21 for the Gradle daemon.

* Add `gradle-daemon-jvm.properties` to specify Java 21 for the Gradle daemon.

* Add `gradle-daemon-jvm.properties` to specify Java 21 for the Gradle daemon.

* removed bookmark data source

* Refactor bookmark management to use xapi statements instead of a dedicated `BookmarkDataSource`.

- Remove `BookmarkDataSourceRepository` and its associated server-side route.
- Update `LearningUnitDetailViewModel` to fetch and store bookmark status using `xapiResource.statements` with the `ID_BOOKMARKED` verb.
- Update `BookmarkListViewModel` and `BookmarkListScreen` to display and manage bookmarks based on xapi statements and linked `OpdsPublication` data.
- Add `ID_BOOKMARKED` constant to `XapiVerb`.
- Update Maestro UI tests to reflect changes in sample data names and bookmark behavior.

* Sort bookmark statements by timestamp in `BookmarkListViewModel` and remove unused imports and test steps.

* Remove redundant newline in `002_browse_lessons_test.yaml`.

* Update Maestro flow assertions to use "Home" instead of "Apps".

* Update Maestro flow assertions to use "Home" instead of "Apps".

* Reorganize Maestro YAML files between flows and test directories.

* Update lesson visibility assertion in `002_browse_lessons_test.yaml`.

* Add `BookmarkEntity` table to `RespectSchoolDatabase` schema and move Maestro test files to the `flows` directory.

* Update school self-registration test and remove unused admin subflow.

* Update school self-registration test and remove unused admin subflow.

* Update `002_browse_lessons_test.yaml` to use `${output.TEST_APP_URL}` variable.

* Update `002_browse_lessons_test.yaml` to use `${output.TEST_APP_URL}` variable.

* Update `002_browse_lessons_test.yaml` to use `${output.TEST_APP_URL}` variable.

* Add database schema files for versions 1 through 8 of `RespectAppDatabase`.

* Add database schema files for versions 1 through 8 of `RespectAppDatabase`.

* Refine code formatting and whitespace.

* Refine code formatting and whitespace.

* Refine imports in `SchoolDataSourceDb.kt` and remove trailing whitespace in `OpdsPublicationEntityAdapter.kt`.

* Remove extraneous blank lines from documentation comments in `OpdsPublicationEntity.kt`.

* Introduce `AddBookmarkUseCase` and `RemoveBookmarkUseCase` to centralize bookmarking logic and refactor view models to use these use cases.

- Deleted legacy `Bookmark` model from `datalayer`.
- Added `AddBookmarkUseCase` and `RemoveBookmarkUseCase` in `respect-lib-shared`.
- Refactored `LearningUnitDetailViewModel` and `BookmarkListViewModel` to use the new use cases and improve error handling via snackbars.
- Updated `AppKoinModule.kt` to provide the new use cases within the account scope.
- Refined UI styles and string resources in `BookmarkListScreen`, `LearningUnitDetailScreen`, and `strings.xml`.
- Fixed typo from `accountMananger` to `accountManager` in `LearningUnitDetailViewModel`.

* Remove unused `FontWeight` import in `LearningUnitDetailScreen`.

* Include `appManifestUrl` in `LearningUnitDetail` route and xAPI bookmark statements.

- Update `LearningUnitDetail` route to include and persist `appManifestUrl`.
- Pass `appManifestUrl` through `AddBookmarkUseCase` and store it within the xAPI statement's `context.contextActivities.parent` field.
- Update `LearningUnitDetailViewModel` to fetch application data using `appManifestUrl` from the route.
- Enhance `BookmarkListViewModel` to extract `appManifestUrl` from bookmark statements when navigating to unit details.
- Simplify UI in `LearningUnitDetailScreen` by removing the subtitle from the supporting content row.

* Refactor `BookmarkListScreen` to use `PublicationListItem` and add `trailingContent` support to `PublicationListItem`.

* Remove `grade1` test case data, including `lesson002` HTML, JSON, and media assets.

* Replace duplicated getString code with new getUiTextString function

* Move PublicationListItem into its own file

* Update `.maestro/flows/002_browse_lessons_test.yaml` to include a test flow for downloading a lesson and verifying its functionality in offline mode.

* Refactor bookmark handling to utilize new XAPI constants and improve context management

* Refactor AddBookmarkUseCase and LearningUnitDetailViewModel to remove appManifestUrl handling

* Refactor AddBookmarkUseCase and LearningUnitDetailViewModel to remove appManifestUrl handling

* Enhance AddBookmarkUseCase to include title in bookmark xAPI statement

* Refactor BookmarkListViewModel and LearningUnitDetailViewModel to remove appManifestUrl handling and improve bookmark state management

* Add sorting functionality to BookmarkListViewModel and UI for bookmarks

* Add sorting functionality to BookmarkListViewModel and UI for bookmarks

* Refactor LearningUnitDetailScreen to use Column layout for improved UI structure and add app icon

* Add error handling and user feedback for bookmark operations

* Add test tags to top navigation items for improved UI testing

* Update `.maestro/flows/002_browse_lessons_test.yaml` to use element IDs instead of text-based indexing for navigating to the home screen and asserting home visibility.

* Update Maestro test flows to use resource IDs for home navigation visibility assertions.

* Update `admin_add_app.yaml` to use the resource ID `nav_home` for the home navigation tap action instead of the "Home" text label.

* Tidyup of bookmark saving to/from xAPI.

* Update `.maestro/flows/002_browse_lessons_test.yaml` to refine the navigation flow. Replace the back button action with specific navigation to the home screen and "Apps" section to access the "Statement Maker" feature.

* Refactored
The screen now:
Extracts the activityId
Passes it as Url(activityId)to uiState.taskInfoFlow()
Collects the returned flow
Renders the PublicationListItem

* Minor tidyup on homescreen.kt

* Add bookmark button back to learning unit detail screen.

* Bookmark cleanup

1) Use remember on bookmarklistscreen when collecting flow
2) bookmarklistviewmodel to filter current active user.

* Fix 002_001 browse lessons test flow.

* Tidyup bookmarks

1) Learning detail screen updated to use a shared flow to avoid unnecessarily reloading app detail
2) Use separate buttons enabled setting for bookmark button on learning unit detail to avoid potential end to end test flakiness: it is a separate load/API call.

* Resolve OpdsPublication in BookmarkListViewModel to ensure icon will display as expected if it is a relative href.

* Update demo app test to reflect navigation changes from "Apps" to "Home"

* Correct license link on DemoLaunchableAppManifestRoute.kt

* Update demo app test to use navigation ID for "Home"

* Replace tapOn home with using test tag

* Add additional logging to WebViewActivity and lesson launch to attempt to diagnose learning unit not opening flakey results on Maestro testing.

* Add more logging on xapi_statement_maker.js .

* Revert database JSON schema change: BookmarkEntity was not added when using xapi so no change.

---------

Co-authored-by: pooja &lt;pooja@ustadmobile.com&gt;
Co-authored-by: Mike Dawson &lt;mike@ustadmobile.com&gt;
</comment><date>2026-07-30 14:44:14 +0400</date><id>beec082677ecfe343236c083f1545d158453e63f</id><msg>Dev bookmark xapi (#272)</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.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>.maestro/flows/001_003_login_using_school_link_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>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</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/bookmark/BookmarkListScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.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>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/6.json</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_app.yaml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.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/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>edit</editType><file>.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/js/xapi_statement_maker.js</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.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/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.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/detail/LearningUnitDetailScreen.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.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>.maestro/flows/002_002_browse_demo_app_test.yaml</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/5.json</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>edit</editType><file>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</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-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit></build><build _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>44</buildNumber><marked><SHA1>21bf77a143458be553aea314cb2be726fb7bec2f</SHA1><branch><SHA1>21bf77a143458be553aea314cb2be726fb7bec2f</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>21bf77a143458be553aea314cb2be726fb7bec2f</SHA1><branch><SHA1>21bf77a143458be553aea314cb2be726fb7bec2f</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>21bf77a143458be553aea314cb2be726fb7bec2f</SHA1><branch><SHA1>21bf77a143458be553aea314cb2be726fb7bec2f</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#44</displayName><duration>115549</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #44</fullDisplayName><id>44</id><inProgress>false</inProgress><keepLog>false</keepLog><number>44</number><queueId>10834</queueId><result>SUCCESS</result><timestamp>1785394920421</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/44/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/006_user_send_feedback_test.yaml</affectedPath><commitId>21bf77a143458be553aea314cb2be726fb7bec2f</commitId><timestamp>1785320719000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix feedback maestro flow
 Remove unnecessary user creation and login not related to the scope of this test.
</comment><date>2026-07-29 14:25:19 +0400</date><id>21bf77a143458be553aea314cb2be726fb7bec2f</id><msg>Fix feedback maestro flow</msg><path><editType>edit</editType><file>.maestro/flows/006_user_send_feedback_test.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _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>43</buildNumber><marked><SHA1>12d17c84759230028533dd23ce037c6328ae8692</SHA1><branch><SHA1>12d17c84759230028533dd23ce037c6328ae8692</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>12d17c84759230028533dd23ce037c6328ae8692</SHA1><branch><SHA1>12d17c84759230028533dd23ce037c6328ae8692</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>12d17c84759230028533dd23ce037c6328ae8692</SHA1><branch><SHA1>12d17c84759230028533dd23ce037c6328ae8692</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#43</displayName><duration>155253</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #43</fullDisplayName><id>43</id><inProgress>false</inProgress><keepLog>false</keepLog><number>43</number><queueId>10800</queueId><result>SUCCESS</result><timestamp>1785308520665</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/43/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><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/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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/manageuser/accountlist/AccountListScreen.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/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>8cd1739ed559e2e42563d131b695b1da4d57837b</commitId><timestamp>1768996473000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>-Created SharedFeedback Screen and its viewmodel (added in app route, appNavHost, app koin)
-in AccountList have added a text with trailing icon "Share feedback)" and on click of it navigation to share feed back
-In Share feedback screen added section on Quick Contact (as text) the using List Item to define 3 options of whatsapp, email and public forum)
added on click methods to it (not functional yet )
</comment><date>2026-01-21 17:24:33 +0530</date><id>8cd1739ed559e2e42563d131b695b1da4d57837b</id><msg>-Created SharedFeedback Screen and its viewmodel (added in app route, appNavHost, app koin)</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.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/manageuser/sharefeedback/ShareFeedbackViewModel.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/manageuser/accountlist/AccountListViewModel.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/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>9b5200c1c64f65a9c944127bd3f885b2bfffc33f</commitId><timestamp>1769011246000</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: Remove redundant content descriptions
</comment><date>2026-01-21 21:30:46 +0530</date><id>9b5200c1c64f65a9c944127bd3f885b2bfffc33f</id><msg>Refactor: Remove redundant content descriptions</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/log/respect-server.2026-01-14.0.log</affectedPath><affectedPath>respect-datalayer-repository/log/respect-server.2026-01-14.0.log</affectedPath><commitId>98949c9108a009648bdfcdf0dc4e8fdb19fd1538</commitId><timestamp>1769063995000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Added functionality to open whatsapp to a default number and also when click on public forum opening respect website

Once I get the Whatsapp support number will change that and also will replace the web support link once provided
</comment><date>2026-01-22 12:09:55 +0530</date><id>98949c9108a009648bdfcdf0dc4e8fdb19fd1538</id><msg>Added functionality to open whatsapp to a default number and also when click on public forum opening respect website</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.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-lib-shared/log/respect-server.2026-01-14.0.log</file></path><path><editType>add</editType><file>respect-datalayer-repository/log/respect-server.2026-01-14.0.log</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>e47c0aaa7481f27ce8331d8ca10b44fb083be7c5</commitId><timestamp>1769070937000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>merged main
</comment><date>2026-01-22 14:05:37 +0530</date><id>e47c0aaa7481f27ce8331d8ca10b44fb083be7c5</id><msg>merged main</msg><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>gradle/wrapper/gradle-wrapper.properties</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>704dedde542a471542ef6b154ba770c8056c8928</commitId><timestamp>1769161032000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Add feedback form to Share Feedback screen

This commit introduces a detailed feedback form on the "Share Feedback" screen, allowing users to submit structured feedback.

Key changes include:
- A dropdown menu for selecting a feedback category.
- A multi-line text field for users to describe their feedback in detail.
- A checkbox for users to request a response from the team.
- A "Submit" button to send the feedback.
- Updated string resources for the new UI elements.
- Renamed "WhatsApp/Email Support" to "WhatsApp/Email Respect".
- Upgraded Gradle version from 8.13 to 9.1.0 and updated related dependencies.
</comment><date>2026-01-23 15:07:12 +0530</date><id>704dedde542a471542ef6b154ba770c8056c8928</id><msg>feat: Add feedback form to Share Feedback screen</msg><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/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>gradle/wrapper/gradle-wrapper.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>d4ca86c10492cb109c510c9cb98bbf3ca82464d1</commitId><timestamp>1769163289000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Adds optional phone number and email fields to the "Share Feedback" screen. These fields are displayed only when the user agrees to be contacted by checking a box. The phone number input utilizes the `RespectPhoneNumberTextField` component.
</comment><date>2026-01-23 15:44:49 +0530</date><id>d4ca86c10492cb109c510c9cb98bbf3ca82464d1</id><msg>Adds optional phone number and email fields to the "Share Feedback" screen. These fields are displayed only when the user agrees to be contacted by checking a box. The phone number input utilizes the `RespectPhoneNumberTextField` component.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>d2ad80ef88ed51fb88c6efab1ed0e493ef84de86</commitId><timestamp>1769165149000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Introduced an `EmailLauncher` to enable users to send feedback via email.
- Created a common `EmailLauncher` interface.
- Added an Android-specific implementation (`EmailLauncherAndroid`) that opens an email client with a pre-filled recipient and subject.
</comment><date>2026-01-23 16:15:49 +0530</date><id>d2ad80ef88ed51fb88c6efab1ed0e493ef84de86</id><msg>Introduced an `EmailLauncher` to enable users to send feedback via email.</msg><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/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>209d5d17e8fbba1ae8254a0cc63eaa87f9dd3e7e</commitId><timestamp>1769190673000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Implemented Zammad ticket creation for feedback

- Added `FeedBackDataSource` interface and its HTTP implementation to create feedback tickets via the Zammad API.
- Implemented a repository for the feedback data source.
- Defined `FeedbackTicket` and ` data models for the ticket.
- Integrated the ticket creation logic into `ShareFeedbackViewModel`'s `onClickSubmit` function for testing purposes.
</comment><date>2026-01-23 23:21:13 +0530</date><id>209d5d17e8fbba1ae8254a0cc63eaa87f9dd3e7e</id><msg>Implemented Zammad ticket creation for feedback</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</file></path><path><editType>add</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>a6d22afea62ab81feffaa73dc64902dc471cd682</commitId><timestamp>1769190744000</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: remove unused accountManager

Removes the unused `accountManager` field from the `ShareFeedbackViewModel` constructor.
</comment><date>2026-01-23 23:22:24 +0530</date><id>a6d22afea62ab81feffaa73dc64902dc471cd682</id><msg>Refactor: remove unused accountManager</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>ff6e74cdb0ef0568cf22fb53bd4e733d88442fad</commitId><timestamp>1769445344000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>creating list of category from string.xml
</comment><date>2026-01-26 22:05:44 +0530</date><id>ff6e74cdb0ef0568cf22fb53bd4e733d88442fad</id><msg>creating list of category from string.xml</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>78eb1098a7bd589e5f1f03ef8151c21b401bac06</commitId><timestamp>1769446978000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Implement feedback submission functionality

This commit wires up the ShareFeedback screen to enable users to submit feedback.

Key changes:
- Implemented `onPhoneChanged` and `onEmailChanged` to update the UI state.
- Connected the "Submit" button to create and send a `FeedbackTicket`.
- The ticket now correctly uses the user-provided email, selected category, and feedback text.
- Standardized the email subject line using a string resource.
</comment><date>2026-01-26 22:32:58 +0530</date><id>78eb1098a7bd589e5f1f03ef8151c21b401bac06</id><msg>feat: Implement feedback submission functionality</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.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-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>00f944b82cc7799a057a65be32fe5d4dc1723c58</commitId><timestamp>1769488351000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Implement feedback ticket submission

This commit introduces the functionality to create and submit a feedback ticket.

Changes include:
- Adding the necessary Koin dependency injection for `FeedbackDataSource`.
- Correcting the Zammad authentication token format.
- Updating the `ShareFeedbackViewModel` to construct and submit the `FeedbackTicket`.
- Modifying the `FeedbackDataSourceHttp` to remove the response body handling.
</comment><date>2026-01-27 10:02:31 +0530</date><id>00f944b82cc7799a057a65be32fe5d4dc1723c58</id><msg>feat: Implement feedback ticket submission</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.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-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>bc4cb731b6210e8f5b2dd172c60f382cb50678f1</commitId><timestamp>1769492342000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Refactored share feedback view model

- Extracted hardcoded strings to constants.
- Added a `ticketTitle` variable to `ShareFeedbackViewModel`.
- The `ticketTitle` is now passed as the subject when sending an email.
- Updated the `guess` string resource to include a colon.
</comment><date>2026-01-27 11:09:02 +0530</date><id>bc4cb731b6210e8f5b2dd172c60f382cb50678f1</id><msg>Refactored share feedback view model</msg><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.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/domain/launchers/EmailLauncher.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><commitId>889350a0ca1ed4e28b906610ddcd4799ecb4d6c7</commitId><timestamp>1769493693000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Refact: Move feedback data source to school data source

The `FeedBackDataSource` is now accessed through the `SchoolDataSource` interface.

Changes include:
- Adding `feedBackDataSource` to the `SchoolDataSource` interface.
- Implementing `feedBackDataSource` in `SchoolDataSourceHttp`, `SchoolDataSourceRepository`, and `SchoolDataSourceDb` (with a TODO).
- Updating `ShareFeedbackViewModel` to use `schoolDataSource.feedBackDataSource`.
- Removing the now-redundant `FeedbackDataSource` Koin definitions.
</comment><date>2026-01-27 11:31:33 +0530</date><id>889350a0ca1ed4e28b906610ddcd4799ecb4d6c7</id><msg>Refact: Move feedback data source to school data source</msg><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.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/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>58d45b3e973aa06d1cd1b50b8bfe14d5dff88185</commitId><timestamp>1769495167000</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: Renamed `ticketTitle` to `subject` for clarity.

The `ticketTitle` variable in `ShareFeedbackViewModel` has been renamed to `subject` to better reflect its purpose.

In `EmailLauncherAndroid`, the logic for building the mailto URI has been updated to use string interpolation and `toUri()` for a more concise implementation.
</comment><date>2026-01-27 11:56:07 +0530</date><id>58d45b3e973aa06d1cd1b50b8bfe14d5dff88185</id><msg>Refactor: Renamed `ticketTitle` to `subject` for clarity.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt</affectedPath><commitId>70aa6344ea518a1f4d14d29f02c2744c2188043c</commitId><timestamp>1769507693000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Moved hardcoded values for WhatsApp, web URLs, and email recipients to a companion object in `ShareFeedbackViewModel`.
</comment><date>2026-01-27 15:24:53 +0530</date><id>70aa6344ea518a1f4d14d29f02c2744c2188043c</id><msg>Moved hardcoded values for WhatsApp, web URLs, and email recipients to a companion object in `ShareFeedbackViewModel`.</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>2b8e20c1f9ff2442f20abf39818b9f086e6b4cc3</commitId><timestamp>1769508238000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Moved hardcoded values for WhatsApp, web URLs, and email recipients to a companion object in `ShareFeedbackViewModel`.
</comment><date>2026-01-27 15:33:58 +0530</date><id>2b8e20c1f9ff2442f20abf39818b9f086e6b4cc3</id><msg>Moved hardcoded values for WhatsApp, web URLs, and email recipients to a companion object in `ShareFeedbackViewModel`.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>df262cc009526fe23c50664fd222e495b6ce0f95</commitId><timestamp>1769513507000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Add validation to share feedback screen

- Implement required field validation for the feedback description.
- Add validation to ensure either a phone number or email is provided when a response is requested.
- Display error messages on the respective fields.
- Refactor `feedbackText` to `feedbackDescription` for clarity.
</comment><date>2026-01-27 17:01:47 +0530</date><id>df262cc009526fe23c50664fd222e495b6ce0f95</id><msg>feat: Add validation to share feedback screen</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.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/domain/feedback/FeedbackCategory.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>e775f4b827b76a76c029d5deaa73d9d0a048285b</commitId><timestamp>1769573786000</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
</comment><date>2026-01-28 09:46:26 +0530</date><id>e775f4b827b76a76c029d5deaa73d9d0a048285b</id><msg>Refactor</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.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/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>b37421b295042e61a653b9699a6eb26ff5e07984</commitId><timestamp>1769574739000</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
</comment><date>2026-01-28 10:02:19 +0530</date><id>b37421b295042e61a653b9699a6eb26ff5e07984</id><msg>Refactor</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</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-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>b97060ae591ccac9216e387e1abdae58504200a2</commitId><timestamp>1769579614000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Removed email from contact validation on feedback form.
</comment><date>2026-01-28 11:23:34 +0530</date><id>b97060ae591ccac9216e387e1abdae58504200a2</id><msg>feat: Removed email from contact validation on feedback form.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>3170d46d2bb22994e42648e6dea0607b0e079a46</commitId><timestamp>1769579680000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Removed email from contact validation on feedback form.
</comment><date>2026-01-28 11:24:40 +0530</date><id>3170d46d2bb22994e42648e6dea0607b0e079a46</id><msg>feat: Removed email from contact validation on feedback form.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>b9f6f0d89ce01e99c6d32d7eda68e59575c8d4ae</commitId><timestamp>1769580768000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Fix: Share feedback contact validation

Corrected the validation logic for the phone number field on the share feedback screen. The error will now be correctly triggered if the "contact me" checkbox is selected and the phone number field is left blank.
</comment><date>2026-01-28 11:42:48 +0530</date><id>b9f6f0d89ce01e99c6d32d7eda68e59575c8d4ae</id><msg>Fix: Share feedback contact validation</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>3bc1b77d4a8ac89585b74833e40873657cb46120</commitId><timestamp>1769581119000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 11:48:39 +0530</date><id>3bc1b77d4a8ac89585b74833e40873657cb46120</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>668e871940c87a96077d588d535822742a712982</commitId><timestamp>1769581351000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 11:52:31 +0530</date><id>668e871940c87a96077d588d535822742a712982</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</affectedPath><commitId>20989f794deb131a87be9c2ebdb5730c6c05bac3</commitId><timestamp>1769584121000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 12:38:41 +0530</date><id>20989f794deb131a87be9c2ebdb5730c6c05bac3</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>58faa6168ea37cb58bb9754c4d8d9376493f847c</commitId><timestamp>1769585134000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>The contact validation error message, which applies to both phone and email fields, has been moved from the phone number field to the email field to ensure it's always visible. Additionally, the validation logic is updated to require at least one contact method (phone or email) when the feedback checkbox is selected, and a new string resource for this validation message has been added.
</comment><date>2026-01-28 12:55:34 +0530</date><id>58faa6168ea37cb58bb9754c4d8d9376493f847c</id><msg>The contact validation error message, which applies to both phone and email fields, has been moved from the phone number field to the email field to ensure it's always visible. Additionally, the validation logic is updated to require at least one contact method (phone or email) when the feedback checkbox is selected, and a new string resource for this validation message has been added.</msg><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.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/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>4d8b3ea5b05b5a04ac72a864fc722ee782cf85b2</commitId><timestamp>1769593172000</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: Separate contact field validation on feedback form

The shared `contactError` state has been replaced with individual `phoneNumberError` and `emailError` states for the phone and email fields on the share feedback screen.

This change introduces specific validation logic for each field:
*   If the "contact me" checkbox is selected, an error is now displayed under the email field, requiring at least one contact method.
*   Individual validation for incorrect phone number and email formats has been added, displaying "Invalid" or "Invalid email" respectively.
*   The error message for requiring at least one contact method has been updated for clarity.
</comment><date>2026-01-28 15:09:32 +0530</date><id>4d8b3ea5b05b5a04ac72a864fc722ee782cf85b2</id><msg>Refactor: Separate contact field validation on feedback form</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.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/manageuser/sharefeedback/ShareFeedbackViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.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/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</affectedPath><commitId>c1517a73866c94cc252eada8bc1db51492116dde</commitId><timestamp>1769595267000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Add feedback submitted screen

Introduced a confirmation screen that appears after a user successfully submits feedback. This involves creating the `FeedbackSubmittedScreen` and its corresponding `FeedbackSubmittedViewModel`.

Upon successful ticket creation, the app now navigates to this new screen. Additionally, the phone number is no longer appended to the feedback ticket's article type.
</comment><date>2026-01-28 15:44:27 +0530</date><id>c1517a73866c94cc252eada8bc1db51492116dde</id><msg>feat: Add feedback submitted 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/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>c9b29b3995e18cfc591d3aa4713222d8b9a5f03a</commitId><timestamp>1769595603000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 15:50:03 +0530</date><id>c9b29b3995e18cfc591d3aa4713222d8b9a5f03a</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>2f1e0ec71b0e50c59cb1f9c2af727b2b2235c173</commitId><timestamp>1769595619000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 15:50:19 +0530</date><id>2f1e0ec71b0e50c59cb1f9c2af727b2b2235c173</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>e0d6c7f3e669335a88532177a3017f67b1176cc0</commitId><timestamp>1769595651000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 15:50:51 +0530</date><id>e0d6c7f3e669335a88532177a3017f67b1176cc0</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><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-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>409d446aec3f2a1707e242231d34771dcce86953</commitId><timestamp>1769605638000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 18:37:18 +0530</date><id>409d446aec3f2a1707e242231d34771dcce86953</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><commitId>c09dc8cd4b4ec4271c4d5420c3357fb08e4ef992</commitId><timestamp>1769605642000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Appends the user's phone number to the body of the feedback ticket being created.
</comment><date>2026-01-28 18:37:22 +0530</date><id>c09dc8cd4b4ec4271c4d5420c3357fb08e4ef992</id><msg>Appends the user's phone number to the body of the feedback ticket being created.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.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-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.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/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>784c88546941121f6433fe6083af9d0c40e30659</commitId><timestamp>1769607456000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Display submission error on feedback form

Introduces an error message on the "Share Feedback" screen that is displayed to the user if the feedback submission fails. This is implemented by adding an `errorMessage` state to the `ShareFeedbackViewModel` and a corresponding `Text` component in the UI to show the message. Additionally, a new string resource for the error has been created.
</comment><date>2026-01-28 19:07:36 +0530</date><id>784c88546941121f6433fe6083af9d0c40e30659</id><msg>feat: Display submission error on feedback form</msg><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/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.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>765037d6d5a5a721c6a9462fdda3029053f7e64f</commitId><timestamp>1769609128000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>added end-to-end test
</comment><date>2026-01-28 18:05:28 +0400</date><id>765037d6d5a5a721c6a9462fdda3029053f7e64f</id><msg>added end-to-end 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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><commitId>659d0082b864fa67567d217a0c2555129f02e389</commitId><timestamp>1769614249000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Cleared share feedback screen from backstack

After successfully submitting feedback, the navigation logic is updated to clear the `ShareFeedback` screen from the back stack. This prevents the user from navigating back to the form they just submitted. Additionally, padding was added to the image on the `FeedbackSubmittedScreen`.
</comment><date>2026-01-28 21:00:49 +0530</date><id>659d0082b864fa67567d217a0c2555129f02e389</id><msg>feat: Cleared share feedback screen from backstack</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><commitId>d3625e0f8b038a9937ee33ef7f92c34c93f13db1</commitId><timestamp>1769616111000</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
</comment><date>2026-01-28 21:31:51 +0530</date><id>d3625e0f8b038a9937ee33ef7f92c34c93f13db1</id><msg>refactor</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>2828513646853240f8871234560cb1c7b51a6bb7</commitId><timestamp>1769665993000</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 contact validation error on feedback form
</comment><date>2026-01-29 11:23:13 +0530</date><id>2828513646853240f8871234560cb1c7b51a6bb7</id><msg>Refactor contact validation error on feedback form</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/wrapper/gradle-wrapper.properties</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-datalayer-repository/log/respect-server.2026-01-14.0.log</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>7ff74f04134b5fd2478c3e5cc7e3646e6d628d46</commitId><timestamp>1769674384000</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 Gradle and remove log files
</comment><date>2026-01-29 13:43:04 +0530</date><id>7ff74f04134b5fd2478c3e5cc7e3646e6d628d46</id><msg>Update Gradle and remove log files</msg><path><editType>edit</editType><file>gradle/wrapper/gradle-wrapper.properties</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/log/respect-server.2026-01-14.0.log</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><commitId>b2537e62509dfa2cedcb0b938e04431a70b8f72e</commitId><timestamp>1769677857000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Configuration loading for Zammad credentials has been updated in `build.gradle.kts`, now sourcing the token and URL from a `zammad.properties` file or environment variables.
</comment><date>2026-01-29 14:40:57 +0530</date><id>b2537e62509dfa2cedcb0b938e04431a70b8f72e</id><msg>Configuration loading for Zammad credentials has been updated in `build.gradle.kts`, now sourcing the token and URL from a `zammad.properties` file or environment variables.</msg><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/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/add_person_create_account.yaml</affectedPath><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><affectedPath>.maestro/flows/subflows/school_user_login_flow.yaml</affectedPath><commitId>915ab3c24000630e1706b5a0a8b4af87e68e0e59</commitId><timestamp>1769679989000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>added validations
</comment><date>2026-01-29 13:46:29 +0400</date><id>915ab3c24000630e1706b5a0a8b4af87e68e0e59</id><msg>added validations</msg><path><editType>add</editType><file>.maestro/flows/subflows/school_user_login_flow.yaml</file></path><path><editType>add</editType><file>.maestro/flows/subflows/add_person_create_account.yaml</file></path><path><editType>add</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><commitId>76cd48a5efd336dc8c549ff95dde093f553d7dcc</commitId><timestamp>1769704111000</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: Integrate FeedbackDataSource into SchoolDataSource

Extracted the `FeedBackDataSource` into the `SchoolDataSource` interface and its various implementations (`Http`, `Db`, `Repository`). This refactoring centralizes data source access.

Key changes include:
- Passing Zammad URL and token configurations from the `AppKoinModule` to `SchoolDataSourceHttp`.
- Updating `ShareFeedbackViewModel` to obtain the `feedBackDataSource` via the main `SchoolDataSource`.
- Removing the hardcoded Zammad URL from `FeedbackDataSourceHttp` and using the configured one instead.
- Hiding the bottom navigation on the "Share Feedback" screen.
</comment><date>2026-01-29 21:58:31 +0530</date><id>76cd48a5efd336dc8c549ff95dde093f553d7dcc</id><msg>refactor: Integrate FeedbackDataSource into SchoolDataSource</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>aeea06f22157081cdd4b39d9b45681bc3482b0f4</commitId><timestamp>1769705189000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Handle feedback submission errors and hide navigation

- Checks the HTTP response status after attempting to create a feedback ticket.
- Displays a generic error message to the user if the ticket submission fails.
- On the feedback submission confirmation screen, the bottom navigation is now hidden.
- The `createTicket` function in the data source and view model now returns an `HttpResponse` to enable status checking.
</comment><date>2026-01-29 22:16:29 +0530</date><id>aeea06f22157081cdd4b39d9b45681bc3482b0f4</id><msg>Handle feedback submission errors and hide navigation</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt</affectedPath><commitId>741ff12b56f782bf6fa602ae19402ce5b24b026d</commitId><timestamp>1769706105000</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: Append "UseCase" to launcher class names

Renamed the `EmailLauncher`, `WebLauncher`, and `WhatsAppLauncher` classes and their corresponding Android implementations to `EmailLauncherUseCase`, `WebLauncherUseCase`, and `WhatsAppLauncherUseCase` respectively. This change makes their purpose as use cases clearer and aligns them with the project's naming conventions.

The `ShareFeedbackViewModel` and the Koin dependency injection module have been updated to reflect these new class names.
</comment><date>2026-01-29 22:31:45 +0530</date><id>741ff12b56f782bf6fa602ae19402ce5b24b026d</id><msg>Refactor: Append "UseCase" to launcher class names</msg><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><commitId>f4de51a39e15ee38525f4984521f1ff869953108</commitId><timestamp>1769711106000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Removes the `FeedBackDataSource`, its HTTP implementation, and repository, along with their integration into the existing data source layers. The responsibility for feedback ticket creation has been moved from the data layer to the `ShareFeedbackViewModel`.

Additionally, Zammad API credentials (URL and token) are now configured through `buildConfigField` in the `respect-lib-shared` module, removing the previous hardcoded values and `respect-app-compose` build configurations.
</comment><date>2026-01-29 23:55:06 +0530</date><id>f4de51a39e15ee38525f4984521f1ff869953108</id><msg>Removes the `FeedBackDataSource`, its HTTP implementation, and repository, along with their integration into the existing data source layers. The responsibility for feedback ticket creation has been moved from the data layer to the `ShareFeedbackViewModel`.</msg><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.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-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><commitId>d40c7cc0b87c46fff6d4993e6bd088461452db09</commitId><timestamp>1769712553000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Refactored feedback property names for clarity and consistency.

Renamed Zammad and Respect contact properties to use a `FEEDBACK_` prefix, improving clarity about their purpose. This change affects build configuration files (`build.gradle.kts`) by renaming build config fields and the property files from which they are loaded (e.g., `zammad.properties` to `feedback.properties`).

Specifically, the following properties were renamed:
- `ZAMMAD_URL` to `FEEDBACK_ZAMMADURL`
- `ZAMMAD_TOKEN` to `FEEDBACK_ZAMMADTOKEN`

Additionally, new properties for Respect's contact details were introduced with the same naming convention:
- `FEEDBACK_RESPECTPHONENUMBER`
- `FEEDBACK_RESPECTEMAILID`
</comment><date>2026-01-30 00:19:13 +0530</date><id>d40c7cc0b87c46fff6d4993e6bd088461452db09</id><msg>feat: Refactored feedback property names for clarity and consistency.</msg><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><commitId>6d249989f5de189a7a2a9efda5faa9581d947a09</commitId><timestamp>1769754663000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update build.gradle.kts
</comment><date>2026-01-30 12:01:03 +0530</date><id>6d249989f5de189a7a2a9efda5faa9581d947a09</id><msg>Update build.gradle.kts</msg><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>6114a11cce90d520c07570b8502128178db91c0d</commitId><timestamp>1769754866000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update AppKoinModule.kt
</comment><date>2026-01-30 12:04:26 +0530</date><id>6114a11cce90d520c07570b8502128178db91c0d</id><msg>Update AppKoinModule.kt</msg><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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt</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/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/ZammadTicketResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</affectedPath><commitId>a3eef313e4a16ce1ae3718a622c9691e3c799ecf</commitId><timestamp>1769766902000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Integrate Zammad for feedback submission and refactor configuration

Integrated the feedback submission feature with the Zammad ticketing system. When a user submits feedback, a ticket is now created in Zammad, and the resulting ticket ID is passed to the confirmation screen.

Key changes include:
- A new `CreateTicketUseCase` is introduced to handle the API call to Zammad.
- The `ShareFeedbackViewModel` now uses this use case to create a ticket and navigates to a success screen with the new ticket ID.
- Configuration properties for Zammad (URL, token) and contact details (phone, email) have been moved from the `respect-app-compose` module to the `respect-lib-shared` module. This centralizes feedback-related settings.
- The `EmailLauncherUseCase` and `WhatsAppLauncherUseCase` were updated to use the newly centralized contact information.
</comment><date>2026-01-30 15:25:02 +0530</date><id>a3eef313e4a16ce1ae3718a622c9691e3c799ecf</id><msg>feat: Integrate Zammad for feedback submission and refactor configuration</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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/build.gradle.kts</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.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/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.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/domain/feedback/ZammadTicketResponse.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><commitId>ebdf205e7743ca2e21c120d1984761739dd04ca5</commitId><timestamp>1769771208000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Display Zammad ticket ID on feedback submission screen

Adds the Zammad ticket ID to the "Feedback Submitted" screen, making it visible to the user for reference. This ID is displayed in a new `Text` element and tagged for testing purposes.
</comment><date>2026-01-30 16:36:48 +0530</date><id>ebdf205e7743ca2e21c120d1984761739dd04ca5</id><msg>feat: Display Zammad ticket ID on feedback submission screen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.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>a2cb2fbb73001a7b5f887356164076ff6e989a18</commitId><timestamp>1769773017000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>removed feedback changes from 003
</comment><date>2026-01-30 15:36:57 +0400</date><id>a2cb2fbb73001a7b5f887356164076ff6e989a18</id><msg>removed feedback changes from 003</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/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><commitId>5849e1aed1e8698fa63ba334ee223d849ef5301b</commitId><timestamp>1769774917000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Hide Zammad ticket ID on feedback submission screen

The Zammad ticket ID displayed on the feedback submitted screen is now hidden from the user by setting its color to transparent. This change is implemented for UI testing purposes while keeping the element accessible to test automation frameworks via its `testTag`.
</comment><date>2026-01-30 17:38:37 +0530</date><id>5849e1aed1e8698fa63ba334ee223d849ef5301b</id><msg>feat: Hide Zammad ticket ID on feedback submission screen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><commitId>86f6745273eb22e1251f02daf1e266c0c5736737</commitId><timestamp>1769776840000</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: Remove redundant quotes in error message string
</comment><date>2026-01-30 18:10:40 +0530</date><id>86f6745273eb22e1251f02daf1e266c0c5736737</id><msg>Refactor: Remove redundant quotes in error message string</msg><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/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>8caa1048eab1633dd01cd31c8a8f104fcad63093</commitId><timestamp>1769777869000</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: Clear error message on submit

Clears the previous error message when the user clicks the submit button again.
</comment><date>2026-01-30 18:27:49 +0530</date><id>8caa1048eab1633dd01cd31c8a8f104fcad63093</id><msg>Refactor: Clear error message on submit</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><commitId>d0e2d7ec240fc7f1951cee7210d7150525be5ae9</commitId><timestamp>1769781347000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>removed feedback changes from 003
</comment><date>2026-01-30 17:55:47 +0400</date><id>d0e2d7ec240fc7f1951cee7210d7150525be5ae9</id><msg>removed feedback changes from 003</msg><path><editType>edit</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><commitId>29fbd62eb54bba1d39d538910c8f8c50a9b0c97c</commitId><timestamp>1769781800000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>removed
</comment><date>2026-01-30 18:03:20 +0400</date><id>29fbd62eb54bba1d39d538910c8f8c50a9b0c97c</id><msg>removed</msg><path><editType>edit</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><commitId>0f9f5b501a3a25ccdfa9febd0272e1f5201c195e</commitId><timestamp>1769784011000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Update feedback response string
</comment><date>2026-01-30 20:10:11 +0530</date><id>0f9f5b501a3a25ccdfa9febd0272e1f5201c195e</id><msg>feat: Update feedback response string</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><affectedPath>.maestro/flows/subflows/school_admin_login_flow.yaml</affectedPath><commitId>754411a3fcb3d999a188224f65df0e41e8e66ba9</commitId><timestamp>1769784936000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated
</comment><date>2026-01-30 18:55:36 +0400</date><id>754411a3fcb3d999a188224f65df0e41e8e66ba9</id><msg>updated</msg><path><editType>edit</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/school_admin_login_flow.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/log/respect-server.2026-01-14.0.log</affectedPath><commitId>354e0b785a540e804b184351474377766fe21e51</commitId><timestamp>1769788996000</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: Removed unused log file and import.
.
</comment><date>2026-01-30 21:33:16 +0530</date><id>354e0b785a540e804b184351474377766fe21e51</id><msg>refactor: Removed unused log file and import.</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/log/respect-server.2026-01-14.0.log</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><commitId>e22305478068d670d68822d4c6e8d375bab70cdf</commitId><timestamp>1769843403000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: Update feedback form strings for clarity
</comment><date>2026-01-31 12:40:03 +0530</date><id>e22305478068d670d68822d4c6e8d375bab70cdf</id><msg>feat: Update feedback form strings for clarity</msg><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/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>e855eabd17ca05860f6b5ff2cf2b67b2ceeb56d3</commitId><timestamp>1769844451000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Hide the user account icon on the "Share Feedback" and "Feedback Submitted" screens.
</comment><date>2026-01-31 12:57:31 +0530</date><id>e855eabd17ca05860f6b5ff2cf2b67b2ceeb56d3</id><msg>Hide the user account icon on the "Share Feedback" and "Feedback Submitted" screens.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>.gitignore</affectedPath><affectedPath>.maestro/flows/scripts/verifyZammadTicket.js</affectedPath><commitId>9084cca9336ae8ee8f51955f8fcd5d6ead04cfb3</commitId><timestamp>1769867489000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated API call
</comment><date>2026-01-31 17:51:29 +0400</date><id>9084cca9336ae8ee8f51955f8fcd5d6ead04cfb3</id><msg>updated API call</msg><path><editType>edit</editType><file>.gitignore</file></path><path><editType>edit</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path><path><editType>add</editType><file>.maestro/flows/scripts/verifyZammadTicket.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><commitId>b1b03b57aedeb7d35ddd5ad90270beedacc0eb9b</commitId><timestamp>1769877996000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated API call
</comment><date>2026-01-31 20:46:36 +0400</date><id>b1b03b57aedeb7d35ddd5ad90270beedacc0eb9b</id><msg>updated API call</msg><path><editType>edit</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><commitId>317d4704bd268cec82ce1c8b7f8e7c267ab0b36e</commitId><timestamp>1769878627000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated maestro.sh
</comment><date>2026-01-31 20:57:07 +0400</date><id>317d4704bd268cec82ce1c8b7f8e7c267ab0b36e</id><msg>updated maestro.sh</msg><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><commitId>349b70c30db7eedf9f969ca33e2e06c9a0efde71</commitId><timestamp>1769880034000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated 004 test
</comment><date>2026-01-31 21:20:34 +0400</date><id>349b70c30db7eedf9f969ca33e2e06c9a0efde71</id><msg>updated 004 test</msg><path><editType>edit</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>4a93ed2c98d5bd33258c90cc65f387b920e055ff</commitId><timestamp>1769962973000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>The `FeedbackCategory` enum has been refactored This change is reflected in the `ShareFeedbackScreen`

Additionally, Android-specific logging (`android.util.Log`) has been replaced with a common `print` statement in the `EmailLauncherUseCaseAndroid`, `WebLauncherUseCaseAndroid`, and `WhatsAppLauncherUseCaseAndroid` files.
</comment><date>2026-02-01 21:52:53 +0530</date><id>4a93ed2c98d5bd33258c90cc65f387b920e055ff</id><msg>The `FeedbackCategory` enum has been refactored This change is reflected in the `ShareFeedbackScreen`</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><commitId>855e013ba71c3822d5f76bb199e8fb24d378aad2</commitId><timestamp>1769963036000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>The `FeedbackCategory` enum has been refactored This change is reflected in the `ShareFeedbackScreen`
</comment><date>2026-02-01 21:53:56 +0530</date><id>855e013ba71c3822d5f76bb199e8fb24d378aad2</id><msg>The `FeedbackCategory` enum has been refactored This change is reflected in the `ShareFeedbackScreen`</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt</affectedPath><commitId>403b774ff4f1b9cc79f18870da6719f0549820bf</commitId><timestamp>1769964674000</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: Cleaned up feedback submission code
</comment><date>2026-02-01 22:21:14 +0530</date><id>403b774ff4f1b9cc79f18870da6719f0549820bf</id><msg>Refactor: Cleaned up feedback submission code</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.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/domain/feedback/FeedbackTicket.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>bdb14a81f1c90639d7515747ac671926e0b2055f</commitId><timestamp>1770011640000</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: Cleaned up feedback submission code
</comment><date>2026-02-02 11:24:00 +0530</date><id>bdb14a81f1c90639d7515747ac671926e0b2055f</id><msg>Refactor: Cleaned up feedback submission code</msg><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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>f8040ad5fb40a4f4708663b95c23300d73f5bf13</commitId><timestamp>1770019216000</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: Improve Share Feedback screen code structure and accessibility

`FeedbackCategory` enum is simplified
 The `FeedbackItem` composable has been renamed to `QuickContactItem` for better clarity, as it represents quick contact methods.
</comment><date>2026-02-02 13:30:16 +0530</date><id>f8040ad5fb40a4f4708663b95c23300d73f5bf13</id><msg>refactor: Improve Share Feedback screen code structure and accessibility</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>.maestro/flows/scripts/verifyZammadTicket.js</affectedPath><commitId>5891a0f12ff1049d67065ec87b6e98f10e8262bf</commitId><timestamp>1770025661000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated properties file path
</comment><date>2026-02-02 13:47:41 +0400</date><id>5891a0f12ff1049d67065ec87b6e98f10e8262bf</id><msg>updated properties file path</msg><path><editType>edit</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path><path><editType>edit</editType><file>.maestro/flows/scripts/verifyZammadTicket.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>.maestro/flows/scripts/verifyZammadTicket.js</affectedPath><commitId>7655ee448f1f9f2445f2080b1adc20f3a84d51e6</commitId><timestamp>1770026876000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated properties file path
</comment><date>2026-02-02 14:07:56 +0400</date><id>7655ee448f1f9f2445f2080b1adc20f3a84d51e6</id><msg>updated properties file path</msg><path><editType>edit</editType><file>ci-run-maestro.sh</file></path><path><editType>edit</editType><file>.maestro/flows/scripts/verifyZammadTicket.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><commitId>d13a8050ff36cbb93c2827a982baaa00fc74399a</commitId><timestamp>1770027265000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated
</comment><date>2026-02-02 14:14:25 +0400</date><id>d13a8050ff36cbb93c2827a982baaa00fc74399a</id><msg>updated</msg><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><commitId>9986ef65b07678a6bc7c8d62432759ce8df4e30e</commitId><timestamp>1770027709000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated maestro.sh file
</comment><date>2026-02-02 14:21:49 +0400</date><id>9986ef65b07678a6bc7c8d62432759ce8df4e30e</id><msg>updated maestro.sh file</msg><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-repository/log/respect-server.2026-02-01.0.log</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/log/respect-server.2026-01-29.0.log</affectedPath><affectedPath>respect-lib-shared/log/respect-server.2026-01-30.0.log</affectedPath><affectedPath>respect-datalayer-repository/log/respect-server.2026-01-30.0.log</affectedPath><affectedPath>respect-lib-shared/log/respect-server.2026-02-01.0.log</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><commitId>c7493171df92798b9878f58d42464ae7e5a2d273</commitId><timestamp>1770030819000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>chore: Add server logs to gitignore.
</comment><date>2026-02-02 16:43:39 +0530</date><id>c7493171df92798b9878f58d42464ae7e5a2d273</id><msg>chore: Add server logs to gitignore.</msg><path><editType>add</editType><file>respect-lib-shared/log/respect-server.2026-01-29.0.log</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-lib-shared/log/respect-server.2026-01-30.0.log</file></path><path><editType>add</editType><file>respect-lib-shared/log/respect-server.2026-02-01.0.log</file></path><path><editType>add</editType><file>respect-datalayer-repository/log/respect-server.2026-02-01.0.log</file></path><path><editType>add</editType><file>respect-datalayer-repository/log/respect-server.2026-01-30.0.log</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/log/respect-server.2026-01-29.0.log</affectedPath><affectedPath>respect-datalayer-repository/log/respect-server.2026-02-01.0.log</affectedPath><affectedPath>respect-lib-shared/log/respect-server.2026-01-30.0.log</affectedPath><affectedPath>respect-datalayer-repository/log/respect-server.2026-01-30.0.log</affectedPath><affectedPath>respect-lib-shared/log/respect-server.2026-02-01.0.log</affectedPath><commitId>e7192fbf75581cea38dd37065654ef5bd82ce622</commitId><timestamp>1770031029000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>chore: Add server logs to gitignore.
</comment><date>2026-02-02 16:47:09 +0530</date><id>e7192fbf75581cea38dd37065654ef5bd82ce622</id><msg>chore: Add server logs to gitignore.</msg><path><editType>delete</editType><file>respect-datalayer-repository/log/respect-server.2026-01-30.0.log</file></path><path><editType>delete</editType><file>respect-lib-shared/log/respect-server.2026-02-01.0.log</file></path><path><editType>delete</editType><file>respect-lib-shared/log/respect-server.2026-01-29.0.log</file></path><path><editType>delete</editType><file>respect-datalayer-repository/log/respect-server.2026-02-01.0.log</file></path><path><editType>delete</editType><file>respect-lib-shared/log/respect-server.2026-01-30.0.log</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/add_person_create_account.yaml</affectedPath><commitId>237f0ba51ef6e1a0f3275dc1abcaeef6dc90a7f3</commitId><timestamp>1770036570000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated maestro.sh file
</comment><date>2026-02-02 16:49:30 +0400</date><id>237f0ba51ef6e1a0f3275dc1abcaeef6dc90a7f3</id><msg>updated maestro.sh file</msg><path><editType>edit</editType><file>.maestro/flows/subflows/add_person_create_account.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>.maestro/flows/scripts/verifyZammadTicket.js</affectedPath><commitId>b7c056400c60b78afd3f8111d33c8f10c84d74c4</commitId><timestamp>1770038470000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated case
</comment><date>2026-02-02 17:21:10 +0400</date><id>b7c056400c60b78afd3f8111d33c8f10c84d74c4</id><msg>updated case</msg><path><editType>edit</editType><file>.maestro/flows/scripts/verifyZammadTicket.js</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><commitId>49bab904229b75089fb7ba2029521e69d56453b7</commitId><timestamp>1770039051000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>updated url
</comment><date>2026-02-02 17:30:51 +0400</date><id>49bab904229b75089fb7ba2029521e69d56453b7</id><msg>updated url</msg><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>.maestro/flows/scripts/verifyZammadTicket.js</affectedPath><commitId>7a9ee1538b38f910f1f12bb88efd5d77d422bce8</commitId><timestamp>1770040889000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>test cleanup
</comment><date>2026-02-02 18:01:29 +0400</date><id>7a9ee1538b38f910f1f12bb88efd5d77d422bce8</id><msg>test cleanup</msg><path><editType>edit</editType><file>.maestro/flows/scripts/verifyZammadTicket.js</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><commitId>d1818a9b0c5d5383004aa9d621e6a8caef66583c</commitId><timestamp>1770098488000</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: Consolidate email launching logic into LaunchSendEmailUseCase.

Removed the specific `EmailLauncherUseCase` and its Android implementation. The existing `LaunchSendEmailUseCase` has been updated to handle all email launching scenarios by making the `body` and `emailId` parameters optional.

This change consolidates redundant code, allowing a single use case to manage sending emails with or without a pre-filled recipient and body. ViewModels have been updated to use the unified `LaunchSendEmailUseCase`.
</comment><date>2026-02-03 11:31:28 +0530</date><id>d1818a9b0c5d5383004aa9d621e6a8caef66583c</id><msg>Refactor: Consolidate email launching logic into LaunchSendEmailUseCase.</msg><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.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/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><commitId>d7b438efa496d1f9d5fa09b2990f9230a302fb0f</commitId><timestamp>1770287058000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>feat: using material theme
</comment><date>2026-02-05 15:54:18 +0530</date><id>d7b438efa496d1f9d5fa09b2990f9230a302fb0f</id><msg>feat: using material theme</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-test-end-to-end/README.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.md</affectedPath><affectedPath>.maestro/flows/004_user_send_feedback_test.yaml</affectedPath><affectedPath>respect-test-end-to-end/test-description/006_002_user_send_feedback_test.md</affectedPath><affectedPath>.maestro/flows/006_002_user_send_feedback_test.yaml</affectedPath><affectedPath>respect-test-end-to-end/test-description/007_001_user_signup_using_passkey_test_description.md</affectedPath><commitId>6982b9b5345b93fedb75a913eb056a49e72b7674</commitId><timestamp>1771503783000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>test - updated test description
</comment><date>2026-02-19 16:23:03 +0400</date><id>6982b9b5345b93fedb75a913eb056a49e72b7674</id><msg>test - updated test description</msg><path><editType>add</editType><file>.maestro/flows/006_002_user_send_feedback_test.yaml</file></path><path><editType>add</editType><file>respect-test-end-to-end/test-description/006_002_user_send_feedback_test.md</file></path><path><editType>edit</editType><file>respect-test-end-to-end/README.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.md</file></path><path><editType>add</editType><file>respect-test-end-to-end/test-description/007_001_user_signup_using_passkey_test_description.md</file></path><path><editType>delete</editType><file>.maestro/flows/004_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</affectedPath><commitId>5e2515742c9f53c22a77484606cb7ca95d007c24</commitId><timestamp>1771580037000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update FeedbackCategory.kt
</comment><date>2026-02-20 15:03:57 +0530</date><id>5e2515742c9f53c22a77484606cb7ca95d007c24</id><msg>Update FeedbackCategory.kt</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><commitId>5a8fb4d83be8d2a2f8489cc4ee19ba23d734562c</commitId><timestamp>1783676454000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Remove
</comment><date>2026-07-10 15:10:54 +0530</date><id>5a8fb4d83be8d2a2f8489cc4ee19ba23d734562c</id><msg>Remove</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.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/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.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/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.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/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt</affectedPath><commitId>a796d8ab55a5df5b0b225da8deb01be7bb163893</commitId><timestamp>1783922760000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Remove Zammad
</comment><date>2026-07-13 11:36:00 +0530</date><id>a796d8ab55a5df5b0b225da8deb01be7bb163893</id><msg>Remove Zammad</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.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><path><editType>edit</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.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/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.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/domain/launchers/WebLauncherUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/ZammadTicketResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><commitId>97509c492864da4662d4bcb64fbbfcda0f020c63</commitId><timestamp>1783923200000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Remove Zammad
</comment><date>2026-07-13 11:43:20 +0530</date><id>97509c492864da4662d4bcb64fbbfcda0f020c63</id><msg>Remove Zammad</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/ZammadTicketResponse.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackCategory.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>.gitignore</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><commitId>d98711800f348fc1690513759541a36a2d61d2bc</commitId><timestamp>1783923904000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Remove Zammad
</comment><date>2026-07-13 11:55:04 +0530</date><id>d98711800f348fc1690513759541a36a2d61d2bc</id><msg>Remove Zammad</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-test-end-to-end/test-description/006_002_user_send_feedback_test.md</affectedPath><affectedPath>respect-test-end-to-end/test-description/007_001_user_signup_using_passkey_test_description.md</affectedPath><commitId>f6c964bebe10d61d6cace43d6cd910a817782def</commitId><timestamp>1783924225000</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
</comment><date>2026-07-13 12:00:25 +0530</date><id>f6c964bebe10d61d6cace43d6cd910a817782def</id><msg>Refactor</msg><path><editType>delete</editType><file>respect-test-end-to-end/test-description/006_002_user_send_feedback_test.md</file></path><path><editType>delete</editType><file>respect-test-end-to-end/test-description/007_001_user_signup_using_passkey_test_description.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt</affectedPath><commitId>8c8cb741855106360e06c809a3885755c81afb79</commitId><timestamp>1783924589000</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
</comment><date>2026-07-13 12:06:29 +0530</date><id>8c8cb741855106360e06c809a3885755c81afb79</id><msg>Refactor</msg><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/006_user_send_feedback_test.yaml</affectedPath><affectedPath>.maestro/flows/006_002_user_send_feedback_test.yaml</affectedPath><commitId>6920dea79eaff2307747eea0ce0b31e678185d0f</commitId><timestamp>1784019126000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Remove `006_002_user_send_feedback_test.yaml` and replace it with a refactored `006_user_send_feedback_test.yaml` Maestro flow.
</comment><date>2026-07-14 12:52:06 +0400</date><id>6920dea79eaff2307747eea0ce0b31e678185d0f</id><msg>Remove `006_002_user_send_feedback_test.yaml` and replace it with a refactored `006_user_send_feedback_test.yaml` Maestro flow.</msg><path><editType>add</editType><file>.maestro/flows/006_user_send_feedback_test.yaml</file></path><path><editType>delete</editType><file>.maestro/flows/006_002_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/006_user_send_feedback_test.yaml</affectedPath><commitId>cfb9502d3e896693ceb9725973b27d9dd4924249</commitId><timestamp>1784020140000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update the `006_user_send_feedback_test.yaml` Maestro flow to change the visibility assertion from "UstadMobile/Respect" to "Welcome to discussions!" following the "Public forum" tap action.
</comment><date>2026-07-14 13:09:00 +0400</date><id>cfb9502d3e896693ceb9725973b27d9dd4924249</id><msg>Update the `006_user_send_feedback_test.yaml` Maestro flow to change the visibility assertion from "UstadMobile/Respect" to "Welcome to discussions!" following the "Public forum" tap action.</msg><path><editType>edit</editType><file>.maestro/flows/006_user_send_feedback_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</affectedPath><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>7cb902c86e60d47fcaa495751b9661df266087f6</commitId><timestamp>1784027938000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>changes in `.maestro/video-downloader/ci-run-cypress.sh` and `.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js`.
</comment><date>2026-07-14 15:18:58 +0400</date><id>7cb902c86e60d47fcaa495751b9661df266087f6</id><msg>changes in `.maestro/video-downloader/ci-run-cypress.sh` and `.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js`.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path><path><editType>edit</editType><file>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</affectedPath><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>42c3990eae1df7450415bbe343a3b47a2fe86601</commitId><timestamp>1784030533000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Summarize the changes in `.maestro/video-downloader/ci-run-cypress.sh` and `.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js`.
</comment><date>2026-07-14 16:02:13 +0400</date><id>42c3990eae1df7450415bbe343a3b47a2fe86601</id><msg>Summarize the changes in `.maestro/video-downloader/ci-run-cypress.sh` and `.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js`.</msg><path><editType>edit</editType><file>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</file></path><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/scripts/verifyZammadTicket.js</affectedPath><commitId>470a8f86048bebaea6ad37e332a2643882fb3706</commitId><timestamp>1784030708000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Delete `.maestro/flows/scripts/verifyZammadTicket.js` and its associated logic for validating Zammad environment variables and verifying support ticket creation via the API.
</comment><date>2026-07-14 16:05:08 +0400</date><id>470a8f86048bebaea6ad37e332a2643882fb3706</id><msg>Delete `.maestro/flows/scripts/verifyZammadTicket.js` and its associated logic for validating Zammad environment variables and verifying support ticket creation via the API.</msg><path><editType>delete</editType><file>.maestro/flows/scripts/verifyZammadTicket.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><commitId>d037651d1f686fda144c3a6195f9aaeda576ceb7</commitId><timestamp>1784626851000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/anugraha</absoluteUrl><fullName>Anugraha</fullName></author><authorEmail>anugraha@sutara.org</authorEmail><comment>update learning unit detail screen initial commit
</comment><date>2026-07-21 15:10:51 +0530</date><id>d037651d1f686fda144c3a6195f9aaeda576ceb7</id><msg>update learning unit detail screen initial commit</msg><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</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/domain/licenses/GetLicenseLabelUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</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/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><commitId>93c593d02a95c94c261a59acb5c91fa96636226f</commitId><timestamp>1784627342000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Add highlight card functionality and related links in AppsDetailScreen
</comment><date>2026-07-21 15:19:02 +0530</date><id>93c593d02a95c94c261a59acb5c91fa96636226f</id><msg>Add highlight card functionality and related links in AppsDetailScreen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><commitId>5a8fdb010ad03680c4f6559a5f0fb090c310e2cd</commitId><timestamp>1785068189000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Minor adjustments to learning unit detail screen.
</comment><date>2026-07-26 16:16:29 +0400</date><id>5a8fdb010ad03680c4f6559a5f0fb090c310e2cd</id><msg>Minor adjustments to learning unit detail screen.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><commitId>f44a7ef464c4114d0da4cbd16d20c3c8b760c027</commitId><timestamp>1785070113000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>ADd demo app route.
</comment><date>2026-07-26 16:48:33 +0400</date><id>f44a7ef464c4114d0da4cbd16d20c3c8b760c027</id><msg>ADd demo app route.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</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/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/app_icon.png</affectedPath><commitId>59c3c6039b76e19c269ac371cd5c519b09bd851d</commitId><timestamp>1785073901000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Set icon on demo app
</comment><date>2026-07-26 17:51:41 +0400</date><id>59c3c6039b76e19c269ac371cd5c519b09bd851d</id><msg>Set icon on demo app</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><commitId>5f3bd1a2f30109d8c34ff7f45df3bd4f1d320627</commitId><timestamp>1785075828000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add demo launchable app to respect-server.
</comment><date>2026-07-26 18:23:48 +0400</date><id>5f3bd1a2f30109d8c34ff7f45df3bd4f1d320627</id><msg>Add demo launchable app to respect-server.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.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-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><commitId>58255a68b86a0a9275cf71b7a69c3014e4d3fcc7</commitId><timestamp>1785130290000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Added Highlight card, Google play nad license label functionality and update AppsDetailScreen
</comment><date>2026-07-27 11:01:30 +0530</date><id>58255a68b86a0a9275cf71b7a69c3014e4d3fcc7</id><msg>Added Highlight card, Google play nad license label functionality and update AppsDetailScreen</msg><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</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/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>add</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>respect-app-compose/src/androidMain/res/raw/license_label_json</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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.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>add</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><commitId>6a2cbabf73b261ee3a265a50f5f97eb773fee32e</commitId><timestamp>1785132247000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add icons for collections in demo app.
</comment><date>2026-07-27 10:04:07 +0400</date><id>6a2cbabf73b261ee3a265a50f5f97eb773fee32e</id><msg>Add icons for collections in demo app.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLessonRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/books.png</file></path><path><editType>add</editType><file>respect-server/src/main/resources/demoapp/credits.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><commitId>8a30a972b9513ccf12065e76d6f6cc345a79d2ef</commitId><timestamp>1785133145000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Added Highlight card, Google play nad license label functionality and update AppsDetailScreen
</comment><date>2026-07-27 11:49:05 +0530</date><id>8a30a972b9513ccf12065e76d6f6cc345a79d2ef</id><msg>Added Highlight card, Google play nad license label functionality and update AppsDetailScreen</msg><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/view/apps/detail/AppsDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXml.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlTest.kt</affectedPath><commitId>08f251ef76f44a7050f44c4828105ebf5ab90d60</commitId><timestamp>1785136862000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Pre-modularization.
</comment><date>2026-07-27 11:21:02 +0400</date><id>08f251ef76f44a7050f44c4828105ebf5ab90d60</id><msg>Pre-modularization.</msg><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXml.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlTest.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</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/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><commitId>80699b573cad23b3d2139277402fb7cefa570c51</commitId><timestamp>1785136894000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/anugraha</absoluteUrl><fullName>Anugraha</fullName></author><authorEmail>anugraha@sutara.org</authorEmail><comment>update lesson detail screen with license and subject tag
</comment><date>2026-07-27 12:51:34 +0530</date><id>80699b573cad23b3d2139277402fb7cefa570c51</id><msg>update lesson detail screen with license and subject tag</msg><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</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/navigation/AppRoutes.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</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/examples/lesson001/lesson001.json</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/apps/detail/AppsDetailScreen.kt</affectedPath><commitId>8db3c8bd46886e0b937ff8e037aac2589aa6bf16</commitId><timestamp>1785138118000</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 license label in AppsDetailScreen and modify string resource for clarity
</comment><date>2026-07-27 13:11:58 +0530</date><id>8db3c8bd46886e0b937ff8e037aac2589aa6bf16</id><msg>Update license label in AppsDetailScreen and modify string resource for clarity</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-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/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.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/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><commitId>a81d67535308ffd0a3f0627b307d332459d58e9c</commitId><timestamp>1785141561000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/anugraha</absoluteUrl><fullName>Anugraha</fullName></author><authorEmail>anugraha@sutara.org</authorEmail><comment>merge dev-learning-unit branch to update-learning-unit-detail-screen to use getLicenseLabelUseCase
</comment><date>2026-07-27 14:09:21 +0530</date><id>a81d67535308ffd0a3f0627b307d332459d58e9c</id><msg>merge dev-learning-unit branch to update-learning-unit-detail-screen to use getLicenseLabelUseCase</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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-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/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/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/domain/licenses/GetLicenseLabelUseCase.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><commitId>054b9391ccac065cb466b3e4139475f85571e303</commitId><timestamp>1785142645000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/anugraha</absoluteUrl><fullName>Anugraha</fullName></author><authorEmail>anugraha@sutara.org</authorEmail><comment>refactor
</comment><date>2026-07-27 14:27:25 +0530</date><id>054b9391ccac065cb466b3e4139475f85571e303</id><msg>refactor</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><commitId>ac3317c8908ac07a72c25812c0e20d7d9748f145</commitId><timestamp>1785149507000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></author><authorEmail>mandvi.verma@sutara.org</authorEmail><comment>Enhance AppsDetailScreen with app description and update license button text for clarity
</comment><date>2026-07-27 16:21:47 +0530</date><id>ac3317c8908ac07a72c25812c0e20d7d9748f145</id><msg>Enhance AppsDetailScreen with app description and update license button text for clarity</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-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/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</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/detail/LearningUnitDetailScreen.kt</affectedPath><commitId>b896f8fc02e435f8b036a8d750a90ed9e7725a67</commitId><timestamp>1785149808000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/anugraha</absoluteUrl><fullName>Anugraha</fullName></author><authorEmail>anugraha@sutara.org</authorEmail><comment>Refactor LearningUnitDetail Screen
</comment><date>2026-07-27 16:26:48 +0530</date><id>b896f8fc02e435f8b036a8d750a90ed9e7725a67</id><msg>Refactor LearningUnitDetail Screen</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/build.gradle.kts</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kt</affectedPath><affectedPath>respect-lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-lib-util/build.gradle.kts</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xxhash/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-credentials/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/proguard-rules.pro</affectedPath><affectedPath>app-android/proguard-rules.pro</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/RespectApp.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>gradle/wrapper/gradle-wrapper.properties</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/AbstractAppActivity.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kt</affectedPath><affectedPath>app-android/src/main/kotlin/world/respect/MainActivity.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/build.gradle.kts</affectedPath><commitId>934467558254bcb1d49d234badef303bc70c02da</commitId><timestamp>1785161561000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to AGP9 and Kotlin 2.4.10
</comment><date>2026-07-27 18:12:41 +0400</date><id>934467558254bcb1d49d234badef303bc70c02da</id><msg>Update to AGP9 and Kotlin 2.4.10</msg><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-credentials/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-test-resources/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>add</editType><file>app-android/src/main/kotlin/world/respect/MainActivity.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-xxhash/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kt</file></path><path><editType>edit</editType><file>respect-lib-primarykeygen/build.gradle.kts</file></path><path><editType>add</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>app-android/src/main/kotlin/world/respect/AbstractAppActivity.kt</file></path><path><editType>edit</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kt</file></path><path><editType>add</editType><file>app-android/proguard-rules.pro</file></path><path><editType>add</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>gradle/wrapper/gradle-wrapper.properties</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kt</file></path><path><editType>edit</editType><file>respect-lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/proguard-rules.pro</file></path><path><editType>edit</editType><file>respect-lib-util/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>app-android/src/main/kotlin/world/respect/RespectApp.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><commitId>269eaa043a99bfd64bcd9d19e936f93c45e459f1</commitId><timestamp>1785217886000</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 AppsDetailScreen and ViewModel for improved clarity and functionality; update app titles and string resources
</comment><date>2026-07-28 11:21:26 +0530</date><id>269eaa043a99bfd64bcd9d19e936f93c45e459f1</id><msg>Refactor AppsDetailScreen and ViewModel for improved clarity and functionality; update app titles and string resources</msg><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-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</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/apps/detail/AppsDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><affectedPath>.maestro/flows/002_002_browse_demo_app_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><commitId>c5014adca1b80bcb5264408dae036543de7a908a</commitId><timestamp>1785223636000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Rename `002_browse_lessons_test.yaml` to `002_001_browse_lessons_test.yaml` and add a new Maestro test flow `002_002_browse_demo_app_test.yaml` to verify the "Demo Launchable App" functionality, including metadata verification and lesson navigation.
</comment><date>2026-07-28 11:27:16 +0400</date><id>c5014adca1b80bcb5264408dae036543de7a908a</id><msg>Rename `002_browse_lessons_test.yaml` to `002_001_browse_lessons_test.yaml` and add a new Maestro test flow `002_002_browse_demo_app_test.yaml` to verify the "Demo Launchable App" functionality, including metadata verification and lesson navigation.</msg><path><editType>add</editType><file>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>delete</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>add</editType><file>.maestro/flows/002_002_browse_demo_app_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>5cd915bfed64510e1b7314bdcca1ce950719d11c</commitId><timestamp>1785223688000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `.gitignore` to ignore the `.maestro/flows/.maestro/screenshots` directory.
</comment><date>2026-07-28 11:28:08 +0400</date><id>5cd915bfed64510e1b7314bdcca1ce950719d11c</id><msg>Update `.gitignore` to ignore the `.maestro/flows/.maestro/screenshots` directory.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>ci-run-e2e-tests.sh</affectedPath><commitId>50f42284321439808b17dea37136d8db2cf9510d</commitId><timestamp>1785224026000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update e2e testing script and doc to use new APK location.
</comment><date>2026-07-28 11:33:46 +0400</date><id>50f42284321439808b17dea37136d8db2cf9510d</id><msg>Update e2e testing script and doc to use new APK location.</msg><path><editType>edit</editType><file>.maestro/README.md</file></path><path><editType>edit</editType><file>ci-run-e2e-tests.sh</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>73d45e9fa1c3d68e110c9417186f87388b6dccff</commitId><timestamp>1785225773000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove "app name" visible assertion.
</comment><date>2026-07-28 12:02:53 +0400</date><id>73d45e9fa1c3d68e110c9417186f87388b6dccff</id><msg>Remove "app name" visible assertion.</msg><path><editType>edit</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kt</file></path><path><editType>edit</editType><file>gradle.properties</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/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><commitId>bae250ea65979db20bce91ae0981f856c07809cc</commitId><timestamp>1785226373000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/anugraha</absoluteUrl><fullName>Anugraha</fullName></author><authorEmail>anugraha@sutara.org</authorEmail><comment>refactor
</comment><date>2026-07-28 13:42:53 +0530</date><id>bae250ea65979db20bce91ae0981f856c07809cc</id><msg>refactor</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><commitId>859748e11a1c61957ff5daa2826771389481af33</commitId><timestamp>1785227913000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update assertion and tap action text from "Add App" to "Add to school apps" in `002_001_browse_lessons_test.yaml`.
</comment><date>2026-07-28 12:38:33 +0400</date><id>859748e11a1c61957ff5daa2826771389481af33</id><msg>Update assertion and tap action text from "Add App" to "Add to school apps" in `002_001_browse_lessons_test.yaml`.</msg><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/subflows/admin_add_app.yaml</affectedPath><commitId>b9f9d9f99dac5ab75741a02b4161b476fded5ae0</commitId><timestamp>1785228192000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `admin_add_app.yaml` subflow to tap on "Add to school apps" instead of "Add App".
</comment><date>2026-07-28 12:43:12 +0400</date><id>b9f9d9f99dac5ab75741a02b4161b476fded5ae0</id><msg>Update `admin_add_app.yaml` subflow to tap on "Add to school apps" instead of "Add App".</msg><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/composeResources/values/strings.xml</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/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><commitId>85a95a045a8e4bd43c432322afb8aa38cf7ae3a1</commitId><timestamp>1785235590000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Merge app and learning unit detail updates.
</comment><date>2026-07-28 14:46:30 +0400</date><id>85a95a045a8e4bd43c432322afb8aa38cf7ae3a1</id><msg>Merge app and learning unit detail updates.</msg><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.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/apps/detail/AppsDetailViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt</affectedPath><commitId>616a6725b58b1d329e9b43fa2aa1a01c5bbfd745</commitId><timestamp>1785239747000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Tidyup share feedback.
</comment><date>2026-07-28 15:55:47 +0400</date><id>616a6725b58b1d329e9b43fa2aa1a01c5bbfd745</id><msg>Tidyup share feedback.</msg><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.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/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_002_browse_demo_app_test.yaml</affectedPath><commitId>6b99719b19c906fb87b5ead61368c4658c3f76a7</commitId><timestamp>1785240511000</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 to remove extra space that causes maestro test to fail. Remove assertion that relies on content of an external site.
</comment><date>2026-07-28 16:08:31 +0400</date><id>6b99719b19c906fb87b5ead61368c4658c3f76a7</id><msg>Fix 002-002 browse to remove extra space that causes maestro test to fail. Remove assertion that relies on content of an external site.</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>.maestro/flows/002_002_browse_demo_app_test.yaml</affectedPath><commitId>b28e900ed5810fdbb8b8b668f53e3a68d16090df</commitId><timestamp>1785242715000</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 remove incorrect assert visible and fix expected license info.
</comment><date>2026-07-28 16:45:15 +0400</date><id>b28e900ed5810fdbb8b8b668f53e3a68d16090df</id><msg>Fix 002_002 remove incorrect assert visible and fix expected license info.</msg><path><editType>edit</editType><file>.maestro/flows/002_002_browse_demo_app_test.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/anugraha</absoluteUrl><fullName>Anugraha</fullName></culprit><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></build><build _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>42</buildNumber><marked><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#42</displayName><duration>195240</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #42</fullDisplayName><id>42</id><inProgress>false</inProgress><keepLog>false</keepLog><number>42</number><queueId>10760</queueId><result>SUCCESS</result><timestamp>1785222120665</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/42/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _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>41</buildNumber><marked><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#41</displayName><duration>196462</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #41</fullDisplayName><id>41</id><inProgress>false</inProgress><keepLog>false</keepLog><number>41</number><queueId>10733</queueId><result>SUCCESS</result><timestamp>1785135720610</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/41/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _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>40</buildNumber><marked><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#40</displayName><duration>197497</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #40</fullDisplayName><id>40</id><inProgress>false</inProgress><keepLog>false</keepLog><number>40</number><queueId>10715</queueId><result>SUCCESS</result><timestamp>1785049320610</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/40/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _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>39</buildNumber><marked><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><branch><SHA1>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#39</displayName><duration>197685</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #39</fullDisplayName><id>39</id><inProgress>false</inProgress><keepLog>false</keepLog><number>39</number><queueId>10697</queueId><result>SUCCESS</result><timestamp>1784962920610</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/39/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><commitId>d66af6b934f7177119ba8b2260bd8e9b86d91e9a</commitId><timestamp>1784882764000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add RespectDataLoadHost component.
</comment><date>2026-07-24 12:46:04 +0400</date><id>d66af6b934f7177119ba8b2260bd8e9b86d91e9a</id><msg>Add RespectDataLoadHost component.</msg><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><commitId>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</commitId><timestamp>1784885405000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update RespectDataLoadHost and DataLoadExtension functions to handle not found scenarios.
</comment><date>2026-07-24 13:30:05 +0400</date><id>60f52d7a12e3f8c3d2207c4a94df1d2bbb82f774</id><msg>Update RespectDataLoadHost and DataLoadExtension functions to handle not found scenarios.</msg><path><editType>edit</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.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/components/RespectDataLoadHost.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _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>38</buildNumber><marked><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><branch><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><branch><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><branch><SHA1>cfa763b7279331cec84673a3423ca713203e7cb6</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#38</displayName><duration>199187</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #38</fullDisplayName><id>38</id><inProgress>false</inProgress><keepLog>false</keepLog><number>38</number><queueId>10679</queueId><result>SUCCESS</result><timestamp>1784876520610</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/38/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</affectedPath><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>7b2d6625eaaed04d55771f949cffdf73f592e76e</commitId><timestamp>1784031006000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Improve the robustness and reliability of the Maestro video downloader script and Cypress extraction logic.
</comment><date>2026-07-14 16:10:06 +0400</date><id>7b2d6625eaaed04d55771f949cffdf73f592e76e</id><msg>Improve the robustness and reliability of the Maestro video downloader script and Cypress extraction logic.</msg><path><editType>edit</editType><file>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</file></path><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</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/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><commitId>596c98835491f4252e7ad3cbc9ccd873c60c567e</commitId><timestamp>1784031285000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add `test` tag to Maestro flows and update `ci-run-maestro.sh` to exclude them from CI runs.
</comment><date>2026-07-14 16:14:45 +0400</date><id>596c98835491f4252e7ad3cbc9ccd873c60c567e</id><msg>Add `test` tag to Maestro flows and update `ci-run-maestro.sh` to exclude them from CI runs.</msg><path><editType>edit</editType><file>ci-run-maestro.sh</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/001_002_add_user_direct_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>.maestro/video-downloader/cypress.config.js</affectedPath><commitId>7ccafc8cfee40fe841b8760e130bb3c1318ca100</commitId><timestamp>1784033008000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add a logging task to the Cypress configuration for the video downloader.
</comment><date>2026-07-14 16:43:28 +0400</date><id>7ccafc8cfee40fe841b8760e130bb3c1318ca100</id><msg>Add a logging task to the Cypress configuration for the video downloader.</msg><path><editType>edit</editType><file>.maestro/video-downloader/cypress.config.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</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/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><commitId>93c8ccec19e6ce6b015e2b7088bf01ff96a83083</commitId><timestamp>1784034484000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Remove `test` tags from Maestro flows and update CI script to include all tests.
</comment><date>2026-07-14 17:08:04 +0400</date><id>93c8ccec19e6ce6b015e2b7088bf01ff96a83083</id><msg>Remove `test` tags from Maestro flows and update CI script to include all tests.</msg><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_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>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/package.json</affectedPath><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>21c5a8affaeab4ae284f0253444697195d601497</commitId><timestamp>1784102409000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `cypress` version to 15.18.1 and clean up comments in the CI script.
</comment><date>2026-07-15 12:00:09 +0400</date><id>21c5a8affaeab4ae284f0253444697195d601497</id><msg>Update `cypress` version to 15.18.1 and clean up comments in the CI script.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path><path><editType>edit</editType><file>.maestro/video-downloader/package.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>5c35c4497aca0b829f2abcc18552777b96228bbd</commitId><timestamp>1784119814000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Add debug logging for Node.js, npm, and environment path in `ci-run-cypress.sh`.
</comment><date>2026-07-15 16:50:14 +0400</date><id>5c35c4497aca0b829f2abcc18552777b96228bbd</id><msg>Add debug logging for Node.js, npm, and environment path in `ci-run-cypress.sh`.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>4b9bc829eb844efb49c096ea75a5cbbb80184a4d</commitId><timestamp>1784136523000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `ci-run-cypress.sh` to use Node.js version 20.20.2 via NVM.
</comment><date>2026-07-15 21:28:43 +0400</date><id>4b9bc829eb844efb49c096ea75a5cbbb80184a4d</id><msg>Update `ci-run-cypress.sh` to use Node.js version 20.20.2 via NVM.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>70fa0fa6824295bc4c8dc8b53987c08a1c1ca927</commitId><timestamp>1784138448000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Remove Node version management commands from the Cypress CI script.
</comment><date>2026-07-15 22:00:48 +0400</date><id>70fa0fa6824295bc4c8dc8b53987c08a1c1ca927</id><msg>Remove Node version management commands from the Cypress CI script.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/ci-run-cypress.sh</affectedPath><commitId>da4c1bf3617c55aa899f59ba53cde274f2d2b18f</commitId><timestamp>1784183145000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Configure Node.js version 20.20.2 using NVM in the Cypress CI script.
</comment><date>2026-07-16 10:25:45 +0400</date><id>da4c1bf3617c55aa899f59ba53cde274f2d2b18f</id><msg>Configure Node.js version 20.20.2 using NVM in the Cypress CI script.</msg><path><editType>edit</editType><file>.maestro/video-downloader/ci-run-cypress.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</affectedPath><commitId>4f9b5317048ff593436053170658a531554bd0f4</commitId><timestamp>1784202446000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></author><authorEmail>pooja@ustadmobile.com</authorEmail><comment>Update `extract-maestro-video-urls.cy.js` to include a pause during OTP polling and improve code comments.
</comment><date>2026-07-16 15:47:26 +0400</date><id>4f9b5317048ff593436053170658a531554bd0f4</id><msg>Update `extract-maestro-video-urls.cy.js` to include a pause during OTP polling and improve code comments.</msg><path><editType>edit</editType><file>.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.js</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><commitId>1737734685efcc2457b5612ab841e824e10625bc</commitId><timestamp>1784796984000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update PersonListViewModel: don't load from datasource when not needed on clicking an item in the list in browse mode.
</comment><date>2026-07-23 12:56:24 +0400</date><id>1737734685efcc2457b5612ab841e824e10625bc</id><msg>Update PersonListViewModel: don't load from datasource when not needed on clicking an item in the list in browse mode.</msg><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kt</affectedPath><commitId>ef2f4319013473b008b4df5d8be46bd243fdc1ac</commitId><timestamp>1784797367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Removed unused Constants.kt (from Android Studio project template).
</comment><date>2026-07-23 13:02:47 +0400</date><id>ef2f4319013473b008b4df5d8be46bd243fdc1ac</id><msg>Removed unused Constants.kt (from Android Studio project template).</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><commitId>ec6a56271e863c32822010b12d4cb234e05d8eb8</commitId><timestamp>1784874064000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix Opds Subject storage to/from database.
</comment><date>2026-07-24 10:21:04 +0400</date><id>ec6a56271e863c32822010b12d4cb234e05d8eb8</id><msg>Fix Opds Subject storage to/from database.</msg><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.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-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.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-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></build><build _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>37</buildNumber><marked><SHA1>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</SHA1><branch><SHA1>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</SHA1><branch><SHA1>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</SHA1><branch><SHA1>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.34a.zip</displayPath><fileName>respect-cli-1.0.34a.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.34a.zip</displayPath><fileName>respect-server-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.34a.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.34a.zip</displayPath><fileName>respect-server-shadow-1.0.34a.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.34a.zip</relativePath></artifact><building>false</building><displayName>#37</displayName><duration>194054</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #37</fullDisplayName><id>37</id><inProgress>false</inProgress><keepLog>false</keepLog><number>37</number><queueId>10657</queueId><result>SUCCESS</result><timestamp>1784790120610</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/37/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><affectedPath>.maestro/flows/scripts/school_init.js</affectedPath><affectedPath>.maestro/flows/subflows/teardown.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><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>.maestro/README.md</affectedPath><affectedPath>.maestro/flows/001_003_login_using_school_link_test.yaml</affectedPath><affectedPath>.maestro/flows/scripts/teardown.js</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml</affectedPath><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><commitId>64127779cc82e240cb749968595f32363e65c11e</commitId><timestamp>1784478624000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Updates for improved local on-prem testing

Fix ci-run-maestro to run shutdowns properly (change to get database copies had broken this)

Improve e2e artifact uploader to wait for connectivity (avoid potential fail when airplane mode was on and connectivity is not yet ready)

Improve ci-run-maestro scripts to allow for extra args/tags
</comment><date>2026-07-19 20:30:24 +0400</date><id>64127779cc82e240cb749968595f32363e65c11e</id><msg>Updates for improved local on-prem testing</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/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</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/README.md</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/teardown.yaml</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>.maestro/flows/001_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>.maestro/flows/001_003_login_using_school_link_test.yaml</file></path><path><editType>edit</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>edit</editType><file>.maestro/flows/scripts/school_init.js</file></path><path><editType>edit</editType><file>.maestro/flows/scripts/teardown.js</file></path><path><editType>edit</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_browse_lessons_test.yaml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/build.gradle.kts</affectedPath><commitId>4bf198b5b4957b58d0f8ba6e597f88daf76c4067</commitId><timestamp>1784553628000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Maestro device offline reproduction with additional logging.
</comment><date>2026-07-20 17:20:28 +0400</date><id>4bf198b5b4957b58d0f8ba6e597f88daf76c4067</id><msg>Maestro device offline reproduction with additional logging.</msg><path><editType>edit</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>edit</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>ci-run-maestro.sh</affectedPath><commitId>9ed993bc3a371f9ea9d89f459a14fbe56ea6f9c3</commitId><timestamp>1784627738000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove extra character in wrong place in ci-run-maestro.sh script.
</comment><date>2026-07-21 13:55:38 +0400</date><id>9ed993bc3a371f9ea9d89f459a14fbe56ea6f9c3</id><msg>Remove extra character in wrong place in ci-run-maestro.sh script.</msg><path><editType>edit</editType><file>ci-run-maestro.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>ci-run-test-server.sh</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><commitId>bf151ed7ab83bb26b5e5459e195a239c7f2c3b22</commitId><timestamp>1784663485000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update version of TestServerController.
</comment><date>2026-07-21 23:51:25 +0400</date><id>bf151ed7ab83bb26b5e5459e195a239c7f2c3b22</id><msg>Update version of TestServerController.</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>ci-run-maestro.sh</file></path><path><editType>edit</editType><file>ci-run-test-server.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>ci-run-maestro.sh</affectedPath><affectedPath>ci-run-e2e-tests.sh</affectedPath><affectedPath>ci-run-test-server.sh</affectedPath><commitId>a73780ed5a127e5a62b391ebdbefc3145f29f2e3</commitId><timestamp>1784709847000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename ci-run-maestro script to ci-run-e2e-tests.sh

Update to latest testserver controller
Tidy up all e2e output into single build/ci-e2e directory.
</comment><date>2026-07-22 12:44:07 +0400</date><id>a73780ed5a127e5a62b391ebdbefc3145f29f2e3</id><msg>Rename ci-run-maestro script to ci-run-e2e-tests.sh</msg><path><editType>delete</editType><file>ci-run-maestro.sh</file></path><path><editType>add</editType><file>ci-run-e2e-tests.sh</file></path><path><editType>edit</editType><file>.maestro/README.md</file></path><path><editType>edit</editType><file>ci-run-test-server.sh</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/flows/subflows/e2e_artifact_upload.yaml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><commitId>5d66aa3c0cac9af39086085837fe255c5fc4cd7d</commitId><timestamp>1784722521000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update SendDbToServerScreen and e2e_artifact_upload to avoid artifact upload failure when no db created yet blocking server shutdown.
</comment><date>2026-07-22 16:15:21 +0400</date><id>5d66aa3c0cac9af39086085837fe255c5fc4cd7d</id><msg>Update SendDbToServerScreen and e2e_artifact_upload to avoid artifact upload failure when no db created yet blocking server shutdown.</msg><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/e2e_artifact_upload.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><commitId>1eaedfd76f545707878e38ec564d7cde54044898</commitId><timestamp>1784724318000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix Application.kt to create required data directory
</comment><date>2026-07-22 16:45:18 +0400</date><id>1eaedfd76f545707878e38ec564d7cde54044898</id><msg>Fix Application.kt to create required data directory</msg><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><commitId>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</commitId><timestamp>1784732644000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update login to use auto-retry and show appropriate error messages.
</comment><date>2026-07-22 19:04:04 +0400</date><id>cb6afd6a1d76eb2c1a8fc2a7db0ba5573eaeb260</id><msg>Update login to use auto-retry and show appropriate error messages.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>edit</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.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/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit></build><build _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>36</buildNumber><marked><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.33.zip</displayPath><fileName>respect-cli-1.0.33.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.33.zip</displayPath><fileName>respect-server-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.33.zip</displayPath><fileName>respect-server-shadow-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.33.zip</relativePath></artifact><building>false</building><displayName>#36</displayName><duration>188967</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #36</fullDisplayName><id>36</id><inProgress>false</inProgress><keepLog>false</keepLog><number>36</number><queueId>10625</queueId><result>SUCCESS</result><timestamp>1784703720609</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/36/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _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>35</buildNumber><marked><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.33.zip</displayPath><fileName>respect-cli-1.0.33.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.33.zip</displayPath><fileName>respect-server-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.33.zip</displayPath><fileName>respect-server-shadow-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.33.zip</relativePath></artifact><building>false</building><displayName>#35</displayName><duration>193574</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #35</fullDisplayName><id>35</id><inProgress>false</inProgress><keepLog>false</keepLog><number>35</number><queueId>10591</queueId><result>SUCCESS</result><timestamp>1784617320624</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/35/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><build _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>34</buildNumber><marked><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.33.zip</displayPath><fileName>respect-cli-1.0.33.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.33.zip</displayPath><fileName>respect-server-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.33.zip</displayPath><fileName>respect-server-shadow-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.33.zip</relativePath></artifact><building>false</building><displayName>#34</displayName><duration>159435</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #34</fullDisplayName><id>34</id><inProgress>false</inProgress><keepLog>false</keepLog><number>34</number><queueId>10552</queueId><result>SUCCESS</result><timestamp>1784530920405</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/34/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></build><color>blue</color><firstBuild _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>34</buildNumber><marked><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><branch><SHA1>86b15234fb65922f53a1d0803ebc3163ae4228e4</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-app-compose-debug.apk</displayPath><fileName>respect-app-compose-debug.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/debug/respect-app-compose-debug.apk</relativePath></artifact><artifact><displayPath>respect-app-compose-release.apk</displayPath><fileName>respect-app-compose-release.apk</fileName><relativePath>respect-app-compose/build/outputs/apk/release/respect-app-compose-release.apk</relativePath></artifact><artifact><displayPath>mapping.txt</displayPath><fileName>mapping.txt</fileName><relativePath>respect-app-compose/build/outputs/mapping/release/mapping.txt</relativePath></artifact><artifact><displayPath>respect-cli-1.0.33.zip</displayPath><fileName>respect-cli-1.0.33.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.33.zip</displayPath><fileName>respect-server-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.33.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.33.zip</displayPath><fileName>respect-server-shadow-1.0.33.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.33.zip</relativePath></artifact><building>false</building><displayName>#34</displayName><duration>159435</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #34</fullDisplayName><id>34</id><inProgress>false</inProgress><keepLog>false</keepLog><number>34</number><queueId>10552</queueId><result>SUCCESS</result><timestamp>1784530920405</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/34/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet></firstBuild><healthReport><description>Build stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>54</buildNumber><marked><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#54</displayName><duration>143718</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #54</fullDisplayName><id>54</id><inProgress>false</inProgress><keepLog>false</keepLog><number>54</number><queueId>273</queueId><result>SUCCESS</result><timestamp>1790932390799</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/54/</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-app-compose/src/commonMain/kotlin/world/respect/app/app/App.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/apps/launcher/AppLauncherViewModel.kt</file></path><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-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/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.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>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/settings/SettingsViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.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>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/curriculum/mapping/list/CurriculumMappingListScreen.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>add</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/navigation/AppRoutes.kt</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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><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></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>.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/lesson002.html</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/subflows/admin_add_app_and_teacher.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.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/lesson002.json</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.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/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/video.mp4</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/subflows/school_admin_login_flow.yaml</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/lesson002.html</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>delete</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>add</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/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-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-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-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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/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><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/learningunit/list/LearningUnitListScreen.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>add</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/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/playlists/mapping/share/PlaylistShareScreen.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/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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/playlists/mapping/share/PlaylistShareViewModel.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></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-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/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/list/PlaylistListScreen.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/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>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/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_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/002_user_add_apps_playlists_bookmarks_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/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_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_005_add_school_self_registration_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/playlists/mapping/edit/PlaylistEditViewModel.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/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-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/commonMain/kotlin/world/respect/app/app/App.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/playlists/mapping/edit/PlaylistEditViewModel.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/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-lib-shared/src/commonMain/composeResources/values/strings.xml</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-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-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>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>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-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><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-lib-shared/src/commonMain/composeResources/values/strings.xml</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/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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</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-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>.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><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-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>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><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/viewmodel/apps/launcher/AppLauncherViewModel.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/apps/enterlink/EnterLinkViewModel.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/share/PlaylistShareViewModel.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><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/apps/launcher/AppLauncherViewModel.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-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/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</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>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/view/learningunit/list/LearningUnitListScreen.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/learningunit/list/LearningUnitListViewModel.kt</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>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>.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>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>.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><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/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/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/playlists/mapping/list/PlaylistListViewModel.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-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/learningunit/list/LearningUnitListViewModel.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-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/domain/account/username/GetActiveUsernameUseCase.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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/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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/mapping/edit/Externallinkeditviewmodel.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/cover.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</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>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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/domain/externallink/ExtractWebPageMetadataUseCase.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/Externallinkeditviewmodel.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/androidMain/kotlin/world/respect/AppKoinModule.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-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png</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>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/lesson001.html</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.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/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.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/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.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>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/learningunit/list/LearningUnitListScreen.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></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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.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><path><editType>add</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-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.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>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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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-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/daos/OpdsFeedEntityDao.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/apps/enterlink/EnterLinkViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.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-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><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/list/PlaylistListScreen.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</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/playlists/mapping/list/PlaylistListViewModel.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-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/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/list/PlaylistListScreen.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></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/playlists/mapping/list/PlaylistListViewModel.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-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/share/PlaylistShareViewModel.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</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><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.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-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/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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</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>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/mapping/edit/PlaylistEditViewModel.kt</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>.maestro/flows/subflows/admin_add_app.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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/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/lesson002/lesson002.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.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/examples/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</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/grade1.json</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/subflows/admin_add_app.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/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-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/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></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-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/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/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></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/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.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/apps/enterlink/EnterLinkViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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><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/viewmodel/apps/launcher/AppLauncherViewModel.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-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>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><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/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></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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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>add</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/mapping/edit/PlaylistEditScreen.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>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>add</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/playlists/mapping/share/PlaylistShareScreen.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>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-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/home/HomeScreen.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>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>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/share/PlaylistShareViewModel.kt</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/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>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-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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.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>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>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/home/HomeScreen.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>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-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/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>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/playlists/collections/share/PlaylistShareScreen.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/playlists/collections/edit/PlaylistEditViewModel.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>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/apps/detail/AppsDetailViewModel.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/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>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-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/detail/AppsDetailViewModel.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-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/list/PlaylistListViewModel.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/collections/detail/PlaylistDetailViewModel.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/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></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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</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_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_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><path><editType>delete</editType><file>.maestro/flows/002_001_browse_lessons_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_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/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/001_001_invite_users_using_qr_code_or_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/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_class_with_members.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_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/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></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>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_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><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><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-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></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/learningunit/list/LearningUnitListViewModel.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>.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/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.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/assignment/edit/AssignmentEditViewModel.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/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-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/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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/assignment/edit/AssignmentEditViewModel.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/learningunit/detail/LearningUnitDetailViewModel.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/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/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.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/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-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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><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/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>add</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/util/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/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/apps/detail/AppsDetailViewModel.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/learningunit/editfeed/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.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/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/collections/edit/PlaylistEditScreen.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>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/collections/edit/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>app-android/src/main/kotlin/world/respect/AppKoinModule.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.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/viewmodel/assignment/edit/AssignmentEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.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>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/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</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/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/playlists/collections/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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.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/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>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/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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-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/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-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/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.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/OpdsFeedEditNavigationItemRow.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/OpdsFeedEditPublicationItemRow.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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-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/editfeed/OpdsFeedEditAddItemBottomSheet.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/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/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><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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.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-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/learningunit/OpdsPickType.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/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.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>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/ext/OpdsFeedExt.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-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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.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-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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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-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/bookmark/BookmarkListViewModel.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/apps/launcher/AppLauncherViewModel.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/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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.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/learningunit/list/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><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/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/editfeed/OpdsFeedEditAddItemBottomSheet.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-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/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.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>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/OpdsFeedEditAddItemBottomSheet.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>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.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/editfeed/OpdsFeedEditAddItemBottomSheet.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>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.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-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.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>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.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>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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.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>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-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.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>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-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/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.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/opdscatalog/detail/LearningUnitDetailScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.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>edit</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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>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/viewmodel/apps/detail/AppsDetailViewModel.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</file></path><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/OpdsFeedListItem.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>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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-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/assignment/edit/AssignmentEditViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.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/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.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>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.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>edit</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/bookmark/BookmarkListViewModel.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.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-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/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.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/feededit/OpdsFeedGroupEditItem.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/opdsfeededit/OpdsFeedEditGroupMenuItemButton.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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.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-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/catalog/feeddetail/OpdsFeedDetailScreen.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.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>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/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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.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/feeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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/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>delete</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-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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>delete</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/opdsfeeddetail/OpdsFeedDetailHeader.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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/opdsfeedlist/OpdsFeedListViewModel.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/catalog/opdsfeeddetail/OpdsFeedDetailScreen.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-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>README_ADD_YOUR_APP.md</affectedPath><commitId>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</commitId><timestamp>1788338743000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md
</comment><date>2026-09-02 12:45:43 +0400</date><id>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</id><msg>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>abb85e6dbd78321176aca3bf9c5249d16722d1a8</commitId><timestamp>1788547140000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for main project and respect-lib-shared.
</comment><date>2026-09-04 22:39:00 +0400</date><id>abb85e6dbd78321176aca3bf9c5249d16722d1a8</id><msg>Update AGENTS.md for main project and respect-lib-shared.</msg><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>add</editType><file>respect-lib-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><commitId>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</commitId><timestamp>1788601024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for respect-datalayer and respect-datalayer-db.
</comment><date>2026-09-05 13:37:04 +0400</date><id>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</id><msg>Update AGENTS.md for respect-datalayer and respect-datalayer-db.</msg><path><editType>edit</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><commitId>dc559585e29f8e13215111b3b25763535378dcb9</commitId><timestamp>1788625143000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:19:03 +0400</date><id>dc559585e29f8e13215111b3b25763535378dcb9</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><commitId>4205e63579b8bbee151c447a65f486c1661e0dd7</commitId><timestamp>1788625374000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:22:54 +0400</date><id>4205e63579b8bbee151c447a65f486c1661e0dd7</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>577aee82bf7fedf9f84be8febb5b9d163a125af4</commitId><timestamp>1788626077000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename DocumentParams and MultiDocParams.
</comment><date>2026-09-05 20:34:37 +0400</date><id>577aee82bf7fedf9f84be8febb5b9d163a125af4</id><msg>Rename DocumentParams and MultiDocParams.</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>45573cfef56405f2586ad4835917c3ff87571c4d</commitId><timestamp>1788627046000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt
</comment><date>2026-09-05 20:50:46 +0400</date><id>45573cfef56405f2586ad4835917c3ff87571c4d</id><msg>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><commitId>251e4f854a3f454a080e2d8fbcf181948b981229</commitId><timestamp>1788685088000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add xAPI Activity Profile route
</comment><date>2026-09-06 12:58:08 +0400</date><id>251e4f854a3f454a080e2d8fbcf181948b981229</id><msg>Add xAPI Activity Profile route</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><commitId>87e5948c6a605bf31d88772a68c3605305888583</commitId><timestamp>1788687103000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md guidance for datalayer-db and datalayer-http.

Rename http resource client suffix to HttpClient for clarity.
</comment><date>2026-09-06 13:31:43 +0400</date><id>87e5948c6a605bf31d88772a68c3605305888583</id><msg>Update AGENTS.md guidance for datalayer-db and datalayer-http.</msg><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><commitId>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</commitId><timestamp>1788714465000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiActivityProfileResourceHttpClient implementation.
</comment><date>2026-09-06 21:07:45 +0400</date><id>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</id><msg>Add XapiActivityProfileResourceHttpClient implementation.</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.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>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-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><commitId>43a6e66b210e450437282cd6e416f17d7cb1ad73</commitId><timestamp>1788853155000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: add guidance on document APIs synchronizing deletions.
</comment><date>2026-09-08 11:39:15 +0400</date><id>43a6e66b210e450437282cd6e416f17d7cb1ad73</id><msg>Work in progress: add guidance on document APIs synchronizing deletions.</msg><path><editType>edit</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>respect-lib-xapi-core/.gitignore</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/model/XapiStatementResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><commitId>c36bb3577bad1ef977ec836354220b2ba9d22dfc</commitId><timestamp>1788853793000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update xapi module package names to follow new convention - just lib.
</comment><date>2026-09-08 11:49:53 +0400</date><id>c36bb3577bad1ef977ec836354220b2ba9d22dfc</id><msg>Update xapi module package names to follow new convention - just lib.</msg><path><editType>delete</editType><file>respect-lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-test/README.md</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/.gitignore</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>lib-xapi-test/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><commitId>4b8356ac8edccff843d686ad757ccf47029c9b53</commitId><timestamp>1788859439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi statement resource tests into lib-xapi-test
</comment><date>2026-09-08 13:23:59 +0400</date><id>4b8356ac8edccff843d686ad757ccf47029c9b53</id><msg>Refactor xapi statement resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/.gitignore</file></path><path><editType>edit</editType><file>build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>8f13aef35fa76a8a389d47f7aae91e610e324e6e</commitId><timestamp>1788962068000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.

Fix PinPublicationPrepareUseCase to avoid attempting to download an intent url.
</comment><date>2026-09-09 17:54:28 +0400</date><id>8f13aef35fa76a8a389d47f7aae91e610e324e6e</id><msg>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.</msg><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.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-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/resources/directories/default.properties</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>56e0677bd714bc6e10e3dede68d664ca17970d21</commitId><timestamp>1788972022000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AndroidManifest.xml to include new testing server url.
Move directories/default.properties data into commonMain
Update Login screen to show server url and location.
Bump version.
</comment><date>2026-09-09 20:40:22 +0400</date><id>56e0677bd714bc6e10e3dede68d664ca17970d21</id><msg>Update AndroidManifest.xml to include new testing server url.</msg><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.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/manageuser/login/LoginViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><commitId>15024741e858b809e2c0f00024094886c11e4bb7</commitId><timestamp>1788975563000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version number
</comment><date>2026-09-09 21:39:23 +0400</date><id>15024741e858b809e2c0f00024094886c11e4bb7</id><msg>Bump version number</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/build.gradle.kts</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-util/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/openapi/openapi.yaml</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/desktopMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><commitId>82241844fac122cf490228c6cdd1b4c4f8c8d97b</commitId><timestamp>1789027836000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.

Remove most usage of deprecated by getting.
</comment><date>2026-09-10 12:10:36 +0400</date><id>82241844fac122cf490228c6cdd1b4c4f8c8d97b</id><msg>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.</msg><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/openapi/openapi.yaml</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-test-resources/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-util/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><commitId>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</commitId><timestamp>1789027852000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add 9.json database schema.
</comment><date>2026-09-10 12:10:52 +0400</date><id>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</id><msg>Add 9.json database schema.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>settings.gradle.kts</affectedPath><commitId>243a1fbac1da00f207bb1cd12bbb24101f206311</commitId><timestamp>1789028840000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to AGP9.4
</comment><date>2026-09-10 12:27:20 +0400</date><id>243a1fbac1da00f207bb1cd12bbb24101f206311</id><msg>Update to AGP9.4</msg><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>3e13e3586a326fede7494c10f15d257af2d99d74</commitId><timestamp>1789039879000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.
</comment><date>2026-09-10 15:31:19 +0400</date><id>3e13e3586a326fede7494c10f15d257af2d99d74</id><msg>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><commitId>a0cda72277aa552c22f36d36d56fc8d6f512b377</commitId><timestamp>1789041071000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of duration for StatementDetail.
</comment><date>2026-09-10 15:51:11 +0400</date><id>a0cda72277aa552c22f36d36d56fc8d6f512b377</id><msg>Fix display of duration for StatementDetail.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>bac981ed8f6a77591d1587b958844d48efc761cf</commitId><timestamp>1789041138000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version.
</comment><date>2026-09-10 15:52:18 +0400</date><id>bac981ed8f6a77591d1587b958844d48efc761cf</id><msg>Bump version.</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/proguard-rules.pro</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>79deada44cd8d64b20be58b99fec2fb09bb003e2</commitId><timestamp>1789044795000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.

See See https://github.com/googlesamples/mlkit/issues/1018
</comment><date>2026-09-10 16:53:15 +0400</date><id>79deada44cd8d64b20be58b99fec2fb09bb003e2</id><msg>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.</msg><path><editType>edit</editType><file>app-android/proguard-rules.pro</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</commitId><timestamp>1789050579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update issue template label for app catalog request
</comment><date>2026-09-10 18:29:39 +0400</date><id>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</id><msg>Update issue template label for app catalog request</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/AGENTS.md</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><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/ext/JsonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><commitId>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</commitId><timestamp>1789125475000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi activity profile resource tests into lib-xapi-test
</comment><date>2026-09-11 15:17:55 +0400</date><id>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</id><msg>Refactor xapi activity profile resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>respect-datalayer-http/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>respect-lib-dataloadstate/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/README.md</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-http-server/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer/README.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><commitId>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</commitId><timestamp>1789138166000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-11 18:49:26 +0400</date><id>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/README.md</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>delete</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/README.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.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>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/log/respect-server.log</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>lib-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.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/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.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/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.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/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>lib-dataloadstate/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>lib-datalayer/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><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/OpdsParentType.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><commitId>1fdee8fd227baf98d3e35e3ba67052039ade1c06</commitId><timestamp>1789231861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-12 20:51:01 +0400</date><id>1fdee8fd227baf98d3e35e3ba67052039ade1c06</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>add</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-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/README.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>add</editType><file>lib-datalayer/.gitignore</file></path><path><editType>add</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>add</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/.gitignore</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>add</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-http-client/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>add</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/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/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</commitId><timestamp>1789234052000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.
</comment><date>2026-09-12 21:27:32 +0400</date><id>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</id><msg>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.</msg><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><commitId>a4be79ea8447a78e29d16546cda7a1005fa910da</commitId><timestamp>1789234392000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove test server log.
</comment><date>2026-09-12 21:33:12 +0400</date><id>a4be79ea8447a78e29d16546cda7a1005fa910da</id><msg>Remove test server log.</msg><path><editType>delete</editType><file>lib-datalayer-http-client/log/respect-server.log</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><commitId>32f939cfb5f2d87aa51b99430ae7022ac672402f</commitId><timestamp>1789235528000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:52:08 +0400</date><id>32f939cfb5f2d87aa51b99430ae7022ac672402f</id><msg>Fix compilation/build</msg><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><commitId>d562f7340895f9011ec5a6583f99ef71189ba4ce</commitId><timestamp>1789235780000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:56:20 +0400</date><id>d562f7340895f9011ec5a6583f99ef71189ba4ce</id><msg>Fix compilation/build</msg><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.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-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-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><commitId>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</commitId><timestamp>1789303701000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes

Refactor to using a shared AbstractXapiActivityProfileTest that tests both the database and http client/server implementation.
</comment><date>2026-09-13 16:48:21 +0400</date><id>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</id><msg>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes</msg><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</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-http-client/AGENTS.md</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>fa76edcd0b7c47438331555e261a2542817047a5</commitId><timestamp>1789303752000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to ignore logs generated by unit tests running in modules.
</comment><date>2026-09-13 16:49:12 +0400</date><id>fa76edcd0b7c47438331555e261a2542817047a5</id><msg>Update gitignore to ignore logs generated by unit tests running in modules.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.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/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><commitId>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</commitId><timestamp>1789314120000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add embedded data source server helper and refactor xAPI HTTP client tests
</comment><date>2026-09-13 19:42:00 +0400</date><id>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</id><msg>Add embedded data source server helper and refactor xAPI HTTP client tests</msg><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><commitId>05b241602e4a58a0ccdc1e00ac60e42f58996499</commitId><timestamp>1789314234000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove extra time logging in WithEmbeddedDataSourceServer.kt
</comment><date>2026-09-13 19:43:54 +0400</date><id>05b241602e4a58a0ccdc1e00ac60e42f58996499</id><msg>Remove extra time logging in WithEmbeddedDataSourceServer.kt</msg><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>258efbc61c11e29cd50493ce504f1bf34fe6d55c</commitId><timestamp>1789382805000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify app manifest URL requirements in issue template

Updated the template to clarify the requirement for the launchable app manifest URL and corrected the reference to the integration guide.
</comment><date>2026-09-14 14:46:45 +0400</date><id>258efbc61c11e29cd50493ce504f1bf34fe6d55c</id><msg>Clarify app manifest URL requirements in issue template</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><commitId>e424bad5d6cc8e45475203496f0e3a00e3757134</commitId><timestamp>1789464579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add conditional if-modified-since GET support for xAPI activity profile resources
</comment><date>2026-09-15 13:29:39 +0400</date><id>e424bad5d6cc8e45475203496f0e3a00e3757134</id><msg>Add conditional if-modified-since GET support for xAPI activity profile resources</msg><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.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/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</file></path><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt</affectedPath><commitId>c1c136ac127a8991dc153daf8689c73e7f199b2a</commitId><timestamp>1789476714000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Support ETag validation and SHA-1 caching for xAPI activity profile documents.
</comment><date>2026-09-15 16:51:54 +0400</date><id>c1c136ac127a8991dc153daf8689c73e7f199b2a</id><msg>Support ETag validation and SHA-1 caching for xAPI activity profile documents.</msg><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</file></path><path><editType>add</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-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</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-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/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.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/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.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/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>afab3fd1f76c527cfce39689a35b0a7e57c91405</commitId><timestamp>1789557692000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core
</comment><date>2026-09-16 15:21:32 +0400</date><id>afab3fd1f76c527cfce39689a35b0a7e57c91405</id><msg>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core</msg><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.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/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</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/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</commitId><timestamp>1789575164000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement XapiRemoteWriteQueue database storage and repository integration
</comment><date>2026-09-16 20:12:44 +0400</date><id>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</id><msg>Implement XapiRemoteWriteQueue database storage and repository integration</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.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>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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/SchoolTypeConverters.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.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-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><commitId>2d04d961dc60a83d4dfc89c007f2c065af919f93</commitId><timestamp>1789577713000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients
</comment><date>2026-09-16 20:55:13 +0400</date><id>2d04d961dc60a83d4dfc89c007f2c065af919f93</id><msg>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><commitId>660d9c447d17a594d894a0ae82299feb2c23cbf7</commitId><timestamp>1789579142000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial working implementation of XapiActivityProfileResourceRepository.
</comment><date>2026-09-16 21:19:02 +0400</date><id>660d9c447d17a594d894a0ae82299feb2c23cbf7</id><msg>Initial working implementation of XapiActivityProfileResourceRepository.</msg><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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><commitId>0260997a7fbac331cc4f6cc797ecbe6425bee694</commitId><timestamp>1789631928000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Android worker and Koin bindings for draining xAPI remote write queue
</comment><date>2026-09-17 11:58:48 +0400</date><id>0260997a7fbac331cc4f6cc797ecbe6425bee694</id><msg>Add Android worker and Koin bindings for draining xAPI remote write queue</msg><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/README.md</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>README.md</affectedPath><commitId>c139595ee01b99703afe3d056b9330ddd58d35ce</commitId><timestamp>1789634063000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update readme references that used to point to respect-app-compose to point to app-android.
</comment><date>2026-09-17 12:34:23 +0400</date><id>c139595ee01b99703afe3d056b9330ddd58d35ce</id><msg>Update readme references that used to point to respect-app-compose to point to app-android.</msg><path><editType>edit</editType><file>respect-app-compose/README.md</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><affectedPath>respect-app-compose/doc/run-config-settings.png</affectedPath><affectedPath>respect-app-compose/doc/app-config-dropdown.png</affectedPath><commitId>d7108c8ff014fd19318491a409268e87e8f53357</commitId><timestamp>1789634242000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Move Android Studio screenshots to app-android
</comment><date>2026-09-17 12:37:22 +0400</date><id>d7108c8ff014fd19318491a409268e87e8f53357</id><msg>Move Android Studio screenshots to app-android</msg><path><editType>add</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>add</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</commitId><timestamp>1789635473000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:57:53 +0400</date><id>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>a684966bdd27dc61aed963dc8972d3340a2163cb</commitId><timestamp>1789635567000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:59:27 +0400</date><id>a684966bdd27dc61aed963dc8972d3340a2163cb</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</affectedPath><affectedPath>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</affectedPath><commitId>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</commitId><timestamp>1789636894000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add profile id doc for storing and retrieving an OPDS collection.
Add recipe for pinning collections.
</comment><date>2026-09-17 13:21:34 +0400</date><id>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</id><msg>Add profile id doc for storing and retrieving an OPDS collection.</msg><path><editType>add</editType><file>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>respect-lib-cache/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>respect-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</affectedPath><affectedPath>lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/well-known/assetlinks.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>respect-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.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/ManagerServerCLI.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-credentials/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>lib-credentials/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>app-server/well-known/assetlinks.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/app.html</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/AGENTS.md</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>app-server/well-known/terms.html</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>respect-cli/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>respect-lib-cache/README.md</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>app-cli/.gitignore</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-shared-se/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>app-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>app-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>app-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-serializers/README.md</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.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/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.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/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.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/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-credentials/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-server/well-known/terms.html</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/README.md</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>lib-cache/.gitignore</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>lib-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>lib-shared-se/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-ihttp-core/.gitignore</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-app-compose/README.md</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/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/.gitignore</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>app-server/README.md</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>app-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>lib-appui-compose/README.md</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/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>ci-run-test-server.sh</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.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/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-ihttp-iostreams/README.md</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>respect-server/src/main/resources/logback.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>app-server/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>respect-server/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>app-cli/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/logback.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-server/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-appui-compose/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>respect-cli/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-credentials/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</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/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-serializers/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><commitId>dbe60749389bc418284e0690884eee431ca51bd9</commitId><timestamp>1789646998000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update module naming convention.
</comment><date>2026-09-17 16:09:58 +0400</date><id>dbe60749389bc418284e0690884eee431ca51bd9</id><msg>Update module naming convention.</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/books.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared-se/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-credentials/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.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>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/README.md</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README.md</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.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><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>delete</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>edit</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>add</editType><file>app-server/src/main/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>add</editType><file>lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>add</editType><file>app-server/well-known/terms.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/books.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</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/util/DurationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/.gitignore</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/strings.xml</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/README.md</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>app-cli/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-server/well-known/terms.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>add</editType><file>lib-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/build.gradle.kts</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.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>delete</editType><file>respect-lib-shared/AGENTS.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/.gitignore</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-credentials/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.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>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-ihttp-core/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.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>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>delete</editType><file>respect-cli/.gitignore</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.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/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>delete</editType><file>respect-server/.gitignore</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.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>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>add</editType><file>lib-cache/README.md</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/.gitignore</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>delete</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-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>delete</editType><file>respect-cli/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/app.html</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>edit</editType><file>ci-run-test-server.sh</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>app-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/AGENTS.md</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/README.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>add</editType><file>lib-serializers/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/application.conf</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>add</editType><file>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>app-cli/.gitignore</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>add</editType><file>lib-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/.gitignore</file></path><path><editType>add</editType><file>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>add</editType><file>app-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>app-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/logback.xml</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>add</editType><file>lib-appui-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/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>edit</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.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>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/application.conf</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><commitId>78c9a20922e2d10d126600ae9c292ed9624179d2</commitId><timestamp>1789647047000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update respect-server.service template.
</comment><date>2026-09-17 16:10:47 +0400</date><id>78c9a20922e2d10d126600ae9c292ed9624179d2</id><msg>Update respect-server.service template.</msg><path><editType>edit</editType><file>app-server/src/dist/systemd/respect-server.service</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/respect-app.db</affectedPath><affectedPath>respect-server/data/dir-admin.txt</affectedPath><affectedPath>respect-server/data/respect-app.db-shm</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_</affectedPath><affectedPath>respect-server/data/server.properties</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</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/http___10_40_49_70_8098_/http___10_40_49_70_8098_</file></path><path><editType>delete</editType><file>respect-server/data/server.properties</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db-wal</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_-shm</file></path><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></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</commitId><timestamp>1789648790000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to reflect module renaming and avoid accidental commit of old server data.
</comment><date>2026-09-17 16:39:50 +0400</date><id>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</id><msg>Update gitignore to reflect module renaming and avoid accidental commit of old server data.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>composeApp/src/desktopMain/resources/img/spix_logo.png</affectedPath><affectedPath>composeApp/src/desktopMain/resources/img/respect_logo.png</affectedPath><affectedPath>.gitignore</affectedPath><commitId>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</commitId><timestamp>1789648861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete old composeApp directory.
</comment><date>2026-09-17 16:41:01 +0400</date><id>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</id><msg>Remove obsolete old composeApp directory.</msg><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/respect_logo.png</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/spix_logo.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/README.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>5461c3e7ef70a4307f6868bed4093e414b7312ff</commitId><timestamp>1789649231000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix links in AGENTS.md and README.md
</comment><date>2026-09-17 16:47:11 +0400</date><id>5461c3e7ef70a4307f6868bed4093e414b7312ff</id><msg>Fix links in AGENTS.md and README.md</msg><path><editType>edit</editType><file>app-server/README.md</file></path><path><editType>edit</editType><file>AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.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/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</commitId><timestamp>1789653548000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete SchoolApp datasource.
</comment><date>2026-09-17 17:59:08 +0400</date><id>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</id><msg>Remove obsolete SchoolApp datasource.</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.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>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.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/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.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/daos/SchoolAppEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/opdsfeededit/OpdsFeedEditViewModel.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.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/opds/ext/OpdsFeedEntityExt.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>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><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/RespectSchoolDatabase.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.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/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.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>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.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-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/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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>delete</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/daos/OpdsFeedEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</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/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/opds/OpdsFeedDataSourceRepository.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/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></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-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/opds/OpdsRespectRepositoryIntegrationTest.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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/ETagAndLastModifiedExt.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/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/flow/RepoFlowTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.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_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/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-pending/001_005_add_school_self_registration_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_002_add_user_direct_test.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/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows-pending/001_005_add_school_self_registration_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class.yaml</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>.maestro/flows/002_001_browse_lessons_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/001_003_login_using_school_link_test.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/subflows/admin_add_new_student_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_student.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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>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/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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/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/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.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>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/RespectSchoolDatabaseMigrations.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/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.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/entities/XapiStateDocumentEntity.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/school/xapi/daos/XapiActivityProfileDocumentDao.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/adapters/XapiStateDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.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/entities/XapiActivityProfileDocumentShaEntity.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.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-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/XapiActivityProfileDocumentEntity.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.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>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/AbstractXapiStateResourceTest.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>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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.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/resources/XapiResource.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.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><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/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>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.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/XapiStateResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.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-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/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-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/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.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>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>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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json</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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.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>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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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>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/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.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>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.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>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.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>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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.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/local/XapiAgentProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.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>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><commitId>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</commitId><timestamp>1790178862000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete models and add authentication options to SchoolDirectoryEntry.
</comment><date>2026-09-23 19:54:22 +0400</date><id>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</id><msg>Remove obsolete models and add authentication options to SchoolDirectoryEntry.</msg><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-ihttp-core/README.md</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>edit</editType><file>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><commitId>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</commitId><timestamp>1790242625000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.
</comment><date>2026-09-24 13:37:05 +0400</date><id>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</id><msg>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.</msg><path><editType>edit</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/AGENTS.md</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><commitId>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</commitId><timestamp>1790324036000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor statement handling into StatementResourceResponder and add tests
</comment><date>2026-09-25 12:13:56 +0400</date><id>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</id><msg>Refactor statement handling into StatementResourceResponder and add tests</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><commitId>532bc906ffa34ddbb9ef16c2558aa16d147099f8</commitId><timestamp>1790344131000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:48:51 +0400</date><id>532bc906ffa34ddbb9ef16c2558aa16d147099f8</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><commitId>4f49d34ee2e085c1fea6d13bef1db2147de881f7</commitId><timestamp>1790344141000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:49:01 +0400</date><id>4f49d34ee2e085c1fea6d13bef1db2147de881f7</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><commitId>bc9ca414264225b7baae09c6bc4edcfd09082f2b</commitId><timestamp>1790345194000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity and Agent Profile resources to lib-xapi-nanohttpd
</comment><date>2026-09-25 18:06:34 +0400</date><id>bc9ca414264225b7baae09c6bc4edcfd09082f2b</id><msg>Add Activity and Agent Profile resources to lib-xapi-nanohttpd</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><commitId>a9b542c379201dadc2b83628271fe759d4b22468</commitId><timestamp>1790351054000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.
</comment><date>2026-09-25 19:44:14 +0400</date><id>a9b542c379201dadc2b83628271fe759d4b22468</id><msg>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.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/XapiAgentProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>dc66f8d0fb256ba2e927b12a6399e99a079e8889</commitId><timestamp>1790602139000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 17:28:59 +0400</date><id>dc66f8d0fb256ba2e927b12a6399e99a079e8889</id><msg>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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/XapiResourceDb.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><commitId>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</commitId><timestamp>1790604419000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 18:06:59 +0400</date><id>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</id><msg>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>.junie/guidelines.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><commitId>4590826c4dce9753efdd28a083301f5d917c4850</commitId><timestamp>1790611835000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiDocument bundle adapter for IPC
</comment><date>2026-09-28 20:10:35 +0400</date><id>4590826c4dce9753efdd28a083301f5d917c4850</id><msg>Add XapiDocument bundle adapter for IPC</msg><path><editType>add</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>.junie/guidelines.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-server/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><commitId>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</commitId><timestamp>1790664641000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiStatementResource IPC tests and update IPC bundle serialization
</comment><date>2026-09-29 10:50:41 +0400</date><id>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</id><msg>Add XapiStatementResource IPC tests and update IPC bundle serialization</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>f6b1de5f635ffc7476de454ea7acd837459a7867</commitId><timestamp>1790671033000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.
</comment><date>2026-09-29 12:37:13 +0400</date><id>f6b1de5f635ffc7476de454ea7acd837459a7867</id><msg>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.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-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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/resources/XapiStatementsResource.kt</affectedPath><commitId>cddb1f3275d3901a8d88985fa0b99d82deef140b</commitId><timestamp>1790674466000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Bundle query parameter helpers and update xAPI IPC to use Parameters
</comment><date>2026-09-29 13:34:26 +0400</date><id>cddb1f3275d3901a8d88985fa0b99d82deef140b</id><msg>Add Bundle query parameter helpers and update xAPI IPC to use Parameters</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</commitId><timestamp>1790679504000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod
</comment><date>2026-09-29 14:58:24 +0400</date><id>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</id><msg>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><commitId>9da84a63b24916c7e3b21a1e45db41179e4396f6</commitId><timestamp>1790684723000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcService message handling into dedicated resource handlers.
</comment><date>2026-09-29 16:25:23 +0400</date><id>9da84a63b24916c7e3b21a1e45db41179e4396f6</id><msg>Refactor XapiIpcService message handling into dedicated resource handlers.</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><commitId>001f142bfd024f2c79af1326d8d9f097761a3b93</commitId><timestamp>1790686252000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add BundleHeaders and refactor IPC bundle header and query parameter helpers
</comment><date>2026-09-29 16:50:52 +0400</date><id>001f142bfd024f2c79af1326d8d9f097761a3b93</id><msg>Add BundleHeaders and refactor IPC bundle header and query parameter helpers</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><commitId>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</commitId><timestamp>1790701915000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle document resource IPC requests asynchronously
</comment><date>2026-09-29 21:11:55 +0400</date><id>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</id><msg>Handle document resource IPC requests asynchronously</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</affectedPath><commitId>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</commitId><timestamp>1790765358000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper
</comment><date>2026-09-30 14:49:18 +0400</date><id>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</id><msg>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>62d6551c2f877ff6c9cda56e7781561fb24ae622</commitId><timestamp>1790768294000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity Profile and Agent Profile IPC support.
</comment><date>2026-09-30 15:38:14 +0400</date><id>62d6551c2f877ff6c9cda56e7781561fb24ae622</id><msg>Add Activity Profile and Agent Profile IPC support.</msg><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-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>51485ce7d9a4c45fc42969f2abf14787d5ced704</commitId><timestamp>1790768661000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients
</comment><date>2026-09-30 15:44:21 +0400</date><id>51485ce7d9a4c45fc42969f2abf14787d5ced704</id><msg>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients</msg><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>279faf43f09e11139758541d034ec367c0895cc4</commitId><timestamp>1790775367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion
</comment><date>2026-09-30 17:36:07 +0400</date><id>279faf43f09e11139758541d034ec367c0895cc4</id><msg>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion</msg><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</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-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.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/XapiAgentProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</affectedPath><commitId>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</commitId><timestamp>1790777538000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Quote ETag values in xAPI document resources and queries
</comment><date>2026-09-30 18:12:18 +0400</date><id>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</id><msg>Quote ETag values in xAPI document resources and queries</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.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/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>edit</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</affectedPath><commitId>4d2a4f4e44b3e5cfecc841da185645457dc1013a</commitId><timestamp>1790788510000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321
</comment><date>2026-09-30 21:15:10 +0400</date><id>4d2a4f4e44b3e5cfecc841da185645457dc1013a</id><msg>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</file></path><path><editType>edit</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</file></path><path><editType>edit</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_PERMISSIONS.md</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><commitId>9cea818ba83b6b2052e34a92bd08d6268628382d</commitId><timestamp>1790859279000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update permissions concept README.
</comment><date>2026-10-01 16:54:39 +0400</date><id>9cea818ba83b6b2052e34a92bd08d6268628382d</id><msg>Update permissions concept README.</msg><path><editType>add</editType><file>lib-xapi-core/README_PERMISSIONS.md</file></path><path><editType>delete</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</affectedPath><commitId>6f211e0949e3a26ab55107153b207b2ad555850d</commitId><timestamp>1790862214000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make detail screens scrollable, adjust padding
</comment><date>2026-10-01 17:43:34 +0400</date><id>6f211e0949e3a26ab55107153b207b2ad555850d</id><msg>Make detail screens scrollable, adjust padding</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><commitId>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</commitId><timestamp>1790927239000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add show more/show less option to AlternativeLangLinks.kt
</comment><date>2026-10-02 11:47:19 +0400</date><id>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</id><msg>Add show more/show less option to AlternativeLangLinks.kt</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>c8213a6965b8081aeb8b10af77f59881d16281b9</commitId><timestamp>1790927623000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-10-02 11:53:43 +0400</date><id>c8213a6965b8081aeb8b10af77f59881d16281b9</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></lastBuild><lastCompletedBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>54</buildNumber><marked><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#54</displayName><duration>143718</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #54</fullDisplayName><id>54</id><inProgress>false</inProgress><keepLog>false</keepLog><number>54</number><queueId>273</queueId><result>SUCCESS</result><timestamp>1790932390799</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/54/</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-app-compose/src/commonMain/kotlin/world/respect/app/app/App.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/apps/launcher/AppLauncherViewModel.kt</file></path><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-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/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.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>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/settings/SettingsViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.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>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/curriculum/mapping/list/CurriculumMappingListScreen.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>add</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/navigation/AppRoutes.kt</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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><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></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>.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/lesson002.html</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/subflows/admin_add_app_and_teacher.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.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/lesson002.json</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.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/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/video.mp4</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/subflows/school_admin_login_flow.yaml</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/lesson002.html</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>delete</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>add</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/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-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-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-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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/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><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/learningunit/list/LearningUnitListScreen.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>add</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/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/playlists/mapping/share/PlaylistShareScreen.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/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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/playlists/mapping/share/PlaylistShareViewModel.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></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-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/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/list/PlaylistListScreen.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/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>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/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_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/002_user_add_apps_playlists_bookmarks_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/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_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_005_add_school_self_registration_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/playlists/mapping/edit/PlaylistEditViewModel.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/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-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/commonMain/kotlin/world/respect/app/app/App.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/playlists/mapping/edit/PlaylistEditViewModel.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/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-lib-shared/src/commonMain/composeResources/values/strings.xml</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-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-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>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>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-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><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-lib-shared/src/commonMain/composeResources/values/strings.xml</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/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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</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-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>.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><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-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>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><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/viewmodel/apps/launcher/AppLauncherViewModel.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/apps/enterlink/EnterLinkViewModel.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/share/PlaylistShareViewModel.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><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/apps/launcher/AppLauncherViewModel.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-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/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</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>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/view/learningunit/list/LearningUnitListScreen.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/learningunit/list/LearningUnitListViewModel.kt</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>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>.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>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>.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><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/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/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/playlists/mapping/list/PlaylistListViewModel.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-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/learningunit/list/LearningUnitListViewModel.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-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/domain/account/username/GetActiveUsernameUseCase.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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/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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/mapping/edit/Externallinkeditviewmodel.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/cover.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</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>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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/domain/externallink/ExtractWebPageMetadataUseCase.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/Externallinkeditviewmodel.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/androidMain/kotlin/world/respect/AppKoinModule.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-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png</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>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/lesson001.html</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.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/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.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/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.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>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/learningunit/list/LearningUnitListScreen.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></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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.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><path><editType>add</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-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.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>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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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-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/daos/OpdsFeedEntityDao.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/apps/enterlink/EnterLinkViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.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-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><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/list/PlaylistListScreen.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</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/playlists/mapping/list/PlaylistListViewModel.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-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/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/list/PlaylistListScreen.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></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/playlists/mapping/list/PlaylistListViewModel.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-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/share/PlaylistShareViewModel.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</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><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.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-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/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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</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>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/mapping/edit/PlaylistEditViewModel.kt</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>.maestro/flows/subflows/admin_add_app.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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/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/lesson002/lesson002.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.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/examples/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</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/grade1.json</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/subflows/admin_add_app.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/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-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/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></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-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/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/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></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/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.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/apps/enterlink/EnterLinkViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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><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/viewmodel/apps/launcher/AppLauncherViewModel.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-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>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><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/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></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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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>add</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/mapping/edit/PlaylistEditScreen.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>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>add</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/playlists/mapping/share/PlaylistShareScreen.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>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-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/home/HomeScreen.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>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>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/share/PlaylistShareViewModel.kt</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/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>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-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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.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>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>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/home/HomeScreen.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>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-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/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>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/playlists/collections/share/PlaylistShareScreen.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/playlists/collections/edit/PlaylistEditViewModel.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>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/apps/detail/AppsDetailViewModel.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/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>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-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/detail/AppsDetailViewModel.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-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/list/PlaylistListViewModel.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/collections/detail/PlaylistDetailViewModel.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/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></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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</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_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_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><path><editType>delete</editType><file>.maestro/flows/002_001_browse_lessons_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_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/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/001_001_invite_users_using_qr_code_or_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/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_class_with_members.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_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/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></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>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_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><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><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-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></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/learningunit/list/LearningUnitListViewModel.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>.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/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.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/assignment/edit/AssignmentEditViewModel.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/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-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/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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/assignment/edit/AssignmentEditViewModel.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/learningunit/detail/LearningUnitDetailViewModel.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/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/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.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/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-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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><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/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>add</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/util/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/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/apps/detail/AppsDetailViewModel.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/learningunit/editfeed/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.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/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/collections/edit/PlaylistEditScreen.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>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/collections/edit/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>app-android/src/main/kotlin/world/respect/AppKoinModule.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.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/viewmodel/assignment/edit/AssignmentEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.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>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/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</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/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/playlists/collections/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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.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/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>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/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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-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/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-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/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.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/OpdsFeedEditNavigationItemRow.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/OpdsFeedEditPublicationItemRow.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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-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/editfeed/OpdsFeedEditAddItemBottomSheet.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/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/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><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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.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-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/learningunit/OpdsPickType.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/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.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>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/ext/OpdsFeedExt.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-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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.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-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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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-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/bookmark/BookmarkListViewModel.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/apps/launcher/AppLauncherViewModel.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/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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.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/learningunit/list/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><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/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/editfeed/OpdsFeedEditAddItemBottomSheet.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-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/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.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>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/OpdsFeedEditAddItemBottomSheet.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>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.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/editfeed/OpdsFeedEditAddItemBottomSheet.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>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.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-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.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>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.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>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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.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>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-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.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>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-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/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.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/opdscatalog/detail/LearningUnitDetailScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.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>edit</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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>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/viewmodel/apps/detail/AppsDetailViewModel.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</file></path><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/OpdsFeedListItem.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>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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-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/assignment/edit/AssignmentEditViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.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/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.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>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.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>edit</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/bookmark/BookmarkListViewModel.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.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-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/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.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/feededit/OpdsFeedGroupEditItem.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/opdsfeededit/OpdsFeedEditGroupMenuItemButton.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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.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-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/catalog/feeddetail/OpdsFeedDetailScreen.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.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>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/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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.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/feeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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/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>delete</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-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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>delete</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/opdsfeeddetail/OpdsFeedDetailHeader.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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/opdsfeedlist/OpdsFeedListViewModel.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/catalog/opdsfeeddetail/OpdsFeedDetailScreen.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-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>README_ADD_YOUR_APP.md</affectedPath><commitId>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</commitId><timestamp>1788338743000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md
</comment><date>2026-09-02 12:45:43 +0400</date><id>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</id><msg>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>abb85e6dbd78321176aca3bf9c5249d16722d1a8</commitId><timestamp>1788547140000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for main project and respect-lib-shared.
</comment><date>2026-09-04 22:39:00 +0400</date><id>abb85e6dbd78321176aca3bf9c5249d16722d1a8</id><msg>Update AGENTS.md for main project and respect-lib-shared.</msg><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>add</editType><file>respect-lib-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><commitId>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</commitId><timestamp>1788601024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for respect-datalayer and respect-datalayer-db.
</comment><date>2026-09-05 13:37:04 +0400</date><id>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</id><msg>Update AGENTS.md for respect-datalayer and respect-datalayer-db.</msg><path><editType>edit</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><commitId>dc559585e29f8e13215111b3b25763535378dcb9</commitId><timestamp>1788625143000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:19:03 +0400</date><id>dc559585e29f8e13215111b3b25763535378dcb9</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><commitId>4205e63579b8bbee151c447a65f486c1661e0dd7</commitId><timestamp>1788625374000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:22:54 +0400</date><id>4205e63579b8bbee151c447a65f486c1661e0dd7</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>577aee82bf7fedf9f84be8febb5b9d163a125af4</commitId><timestamp>1788626077000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename DocumentParams and MultiDocParams.
</comment><date>2026-09-05 20:34:37 +0400</date><id>577aee82bf7fedf9f84be8febb5b9d163a125af4</id><msg>Rename DocumentParams and MultiDocParams.</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>45573cfef56405f2586ad4835917c3ff87571c4d</commitId><timestamp>1788627046000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt
</comment><date>2026-09-05 20:50:46 +0400</date><id>45573cfef56405f2586ad4835917c3ff87571c4d</id><msg>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><commitId>251e4f854a3f454a080e2d8fbcf181948b981229</commitId><timestamp>1788685088000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add xAPI Activity Profile route
</comment><date>2026-09-06 12:58:08 +0400</date><id>251e4f854a3f454a080e2d8fbcf181948b981229</id><msg>Add xAPI Activity Profile route</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><commitId>87e5948c6a605bf31d88772a68c3605305888583</commitId><timestamp>1788687103000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md guidance for datalayer-db and datalayer-http.

Rename http resource client suffix to HttpClient for clarity.
</comment><date>2026-09-06 13:31:43 +0400</date><id>87e5948c6a605bf31d88772a68c3605305888583</id><msg>Update AGENTS.md guidance for datalayer-db and datalayer-http.</msg><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><commitId>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</commitId><timestamp>1788714465000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiActivityProfileResourceHttpClient implementation.
</comment><date>2026-09-06 21:07:45 +0400</date><id>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</id><msg>Add XapiActivityProfileResourceHttpClient implementation.</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.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>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-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><commitId>43a6e66b210e450437282cd6e416f17d7cb1ad73</commitId><timestamp>1788853155000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: add guidance on document APIs synchronizing deletions.
</comment><date>2026-09-08 11:39:15 +0400</date><id>43a6e66b210e450437282cd6e416f17d7cb1ad73</id><msg>Work in progress: add guidance on document APIs synchronizing deletions.</msg><path><editType>edit</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>respect-lib-xapi-core/.gitignore</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/model/XapiStatementResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><commitId>c36bb3577bad1ef977ec836354220b2ba9d22dfc</commitId><timestamp>1788853793000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update xapi module package names to follow new convention - just lib.
</comment><date>2026-09-08 11:49:53 +0400</date><id>c36bb3577bad1ef977ec836354220b2ba9d22dfc</id><msg>Update xapi module package names to follow new convention - just lib.</msg><path><editType>delete</editType><file>respect-lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-test/README.md</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/.gitignore</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>lib-xapi-test/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><commitId>4b8356ac8edccff843d686ad757ccf47029c9b53</commitId><timestamp>1788859439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi statement resource tests into lib-xapi-test
</comment><date>2026-09-08 13:23:59 +0400</date><id>4b8356ac8edccff843d686ad757ccf47029c9b53</id><msg>Refactor xapi statement resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/.gitignore</file></path><path><editType>edit</editType><file>build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>8f13aef35fa76a8a389d47f7aae91e610e324e6e</commitId><timestamp>1788962068000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.

Fix PinPublicationPrepareUseCase to avoid attempting to download an intent url.
</comment><date>2026-09-09 17:54:28 +0400</date><id>8f13aef35fa76a8a389d47f7aae91e610e324e6e</id><msg>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.</msg><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.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-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/resources/directories/default.properties</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>56e0677bd714bc6e10e3dede68d664ca17970d21</commitId><timestamp>1788972022000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AndroidManifest.xml to include new testing server url.
Move directories/default.properties data into commonMain
Update Login screen to show server url and location.
Bump version.
</comment><date>2026-09-09 20:40:22 +0400</date><id>56e0677bd714bc6e10e3dede68d664ca17970d21</id><msg>Update AndroidManifest.xml to include new testing server url.</msg><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.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/manageuser/login/LoginViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><commitId>15024741e858b809e2c0f00024094886c11e4bb7</commitId><timestamp>1788975563000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version number
</comment><date>2026-09-09 21:39:23 +0400</date><id>15024741e858b809e2c0f00024094886c11e4bb7</id><msg>Bump version number</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/build.gradle.kts</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-util/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/openapi/openapi.yaml</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/desktopMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><commitId>82241844fac122cf490228c6cdd1b4c4f8c8d97b</commitId><timestamp>1789027836000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.

Remove most usage of deprecated by getting.
</comment><date>2026-09-10 12:10:36 +0400</date><id>82241844fac122cf490228c6cdd1b4c4f8c8d97b</id><msg>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.</msg><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/openapi/openapi.yaml</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-test-resources/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-util/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><commitId>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</commitId><timestamp>1789027852000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add 9.json database schema.
</comment><date>2026-09-10 12:10:52 +0400</date><id>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</id><msg>Add 9.json database schema.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>settings.gradle.kts</affectedPath><commitId>243a1fbac1da00f207bb1cd12bbb24101f206311</commitId><timestamp>1789028840000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to AGP9.4
</comment><date>2026-09-10 12:27:20 +0400</date><id>243a1fbac1da00f207bb1cd12bbb24101f206311</id><msg>Update to AGP9.4</msg><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>3e13e3586a326fede7494c10f15d257af2d99d74</commitId><timestamp>1789039879000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.
</comment><date>2026-09-10 15:31:19 +0400</date><id>3e13e3586a326fede7494c10f15d257af2d99d74</id><msg>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><commitId>a0cda72277aa552c22f36d36d56fc8d6f512b377</commitId><timestamp>1789041071000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of duration for StatementDetail.
</comment><date>2026-09-10 15:51:11 +0400</date><id>a0cda72277aa552c22f36d36d56fc8d6f512b377</id><msg>Fix display of duration for StatementDetail.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>bac981ed8f6a77591d1587b958844d48efc761cf</commitId><timestamp>1789041138000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version.
</comment><date>2026-09-10 15:52:18 +0400</date><id>bac981ed8f6a77591d1587b958844d48efc761cf</id><msg>Bump version.</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/proguard-rules.pro</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>79deada44cd8d64b20be58b99fec2fb09bb003e2</commitId><timestamp>1789044795000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.

See See https://github.com/googlesamples/mlkit/issues/1018
</comment><date>2026-09-10 16:53:15 +0400</date><id>79deada44cd8d64b20be58b99fec2fb09bb003e2</id><msg>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.</msg><path><editType>edit</editType><file>app-android/proguard-rules.pro</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</commitId><timestamp>1789050579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update issue template label for app catalog request
</comment><date>2026-09-10 18:29:39 +0400</date><id>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</id><msg>Update issue template label for app catalog request</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/AGENTS.md</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><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/ext/JsonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><commitId>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</commitId><timestamp>1789125475000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi activity profile resource tests into lib-xapi-test
</comment><date>2026-09-11 15:17:55 +0400</date><id>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</id><msg>Refactor xapi activity profile resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>respect-datalayer-http/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>respect-lib-dataloadstate/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/README.md</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-http-server/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer/README.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><commitId>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</commitId><timestamp>1789138166000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-11 18:49:26 +0400</date><id>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/README.md</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>delete</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/README.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.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>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/log/respect-server.log</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>lib-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.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/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.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/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.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/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>lib-dataloadstate/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>lib-datalayer/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><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/OpdsParentType.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><commitId>1fdee8fd227baf98d3e35e3ba67052039ade1c06</commitId><timestamp>1789231861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-12 20:51:01 +0400</date><id>1fdee8fd227baf98d3e35e3ba67052039ade1c06</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>add</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-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/README.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>add</editType><file>lib-datalayer/.gitignore</file></path><path><editType>add</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>add</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/.gitignore</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>add</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-http-client/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>add</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/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/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</commitId><timestamp>1789234052000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.
</comment><date>2026-09-12 21:27:32 +0400</date><id>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</id><msg>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.</msg><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><commitId>a4be79ea8447a78e29d16546cda7a1005fa910da</commitId><timestamp>1789234392000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove test server log.
</comment><date>2026-09-12 21:33:12 +0400</date><id>a4be79ea8447a78e29d16546cda7a1005fa910da</id><msg>Remove test server log.</msg><path><editType>delete</editType><file>lib-datalayer-http-client/log/respect-server.log</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><commitId>32f939cfb5f2d87aa51b99430ae7022ac672402f</commitId><timestamp>1789235528000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:52:08 +0400</date><id>32f939cfb5f2d87aa51b99430ae7022ac672402f</id><msg>Fix compilation/build</msg><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><commitId>d562f7340895f9011ec5a6583f99ef71189ba4ce</commitId><timestamp>1789235780000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:56:20 +0400</date><id>d562f7340895f9011ec5a6583f99ef71189ba4ce</id><msg>Fix compilation/build</msg><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.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-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-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><commitId>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</commitId><timestamp>1789303701000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes

Refactor to using a shared AbstractXapiActivityProfileTest that tests both the database and http client/server implementation.
</comment><date>2026-09-13 16:48:21 +0400</date><id>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</id><msg>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes</msg><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</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-http-client/AGENTS.md</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>fa76edcd0b7c47438331555e261a2542817047a5</commitId><timestamp>1789303752000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to ignore logs generated by unit tests running in modules.
</comment><date>2026-09-13 16:49:12 +0400</date><id>fa76edcd0b7c47438331555e261a2542817047a5</id><msg>Update gitignore to ignore logs generated by unit tests running in modules.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.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/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><commitId>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</commitId><timestamp>1789314120000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add embedded data source server helper and refactor xAPI HTTP client tests
</comment><date>2026-09-13 19:42:00 +0400</date><id>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</id><msg>Add embedded data source server helper and refactor xAPI HTTP client tests</msg><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><commitId>05b241602e4a58a0ccdc1e00ac60e42f58996499</commitId><timestamp>1789314234000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove extra time logging in WithEmbeddedDataSourceServer.kt
</comment><date>2026-09-13 19:43:54 +0400</date><id>05b241602e4a58a0ccdc1e00ac60e42f58996499</id><msg>Remove extra time logging in WithEmbeddedDataSourceServer.kt</msg><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>258efbc61c11e29cd50493ce504f1bf34fe6d55c</commitId><timestamp>1789382805000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify app manifest URL requirements in issue template

Updated the template to clarify the requirement for the launchable app manifest URL and corrected the reference to the integration guide.
</comment><date>2026-09-14 14:46:45 +0400</date><id>258efbc61c11e29cd50493ce504f1bf34fe6d55c</id><msg>Clarify app manifest URL requirements in issue template</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><commitId>e424bad5d6cc8e45475203496f0e3a00e3757134</commitId><timestamp>1789464579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add conditional if-modified-since GET support for xAPI activity profile resources
</comment><date>2026-09-15 13:29:39 +0400</date><id>e424bad5d6cc8e45475203496f0e3a00e3757134</id><msg>Add conditional if-modified-since GET support for xAPI activity profile resources</msg><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.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/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</file></path><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt</affectedPath><commitId>c1c136ac127a8991dc153daf8689c73e7f199b2a</commitId><timestamp>1789476714000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Support ETag validation and SHA-1 caching for xAPI activity profile documents.
</comment><date>2026-09-15 16:51:54 +0400</date><id>c1c136ac127a8991dc153daf8689c73e7f199b2a</id><msg>Support ETag validation and SHA-1 caching for xAPI activity profile documents.</msg><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</file></path><path><editType>add</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-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</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-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/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.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/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.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/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>afab3fd1f76c527cfce39689a35b0a7e57c91405</commitId><timestamp>1789557692000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core
</comment><date>2026-09-16 15:21:32 +0400</date><id>afab3fd1f76c527cfce39689a35b0a7e57c91405</id><msg>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core</msg><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.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/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</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/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</commitId><timestamp>1789575164000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement XapiRemoteWriteQueue database storage and repository integration
</comment><date>2026-09-16 20:12:44 +0400</date><id>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</id><msg>Implement XapiRemoteWriteQueue database storage and repository integration</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.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>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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/SchoolTypeConverters.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.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-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><commitId>2d04d961dc60a83d4dfc89c007f2c065af919f93</commitId><timestamp>1789577713000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients
</comment><date>2026-09-16 20:55:13 +0400</date><id>2d04d961dc60a83d4dfc89c007f2c065af919f93</id><msg>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><commitId>660d9c447d17a594d894a0ae82299feb2c23cbf7</commitId><timestamp>1789579142000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial working implementation of XapiActivityProfileResourceRepository.
</comment><date>2026-09-16 21:19:02 +0400</date><id>660d9c447d17a594d894a0ae82299feb2c23cbf7</id><msg>Initial working implementation of XapiActivityProfileResourceRepository.</msg><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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><commitId>0260997a7fbac331cc4f6cc797ecbe6425bee694</commitId><timestamp>1789631928000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Android worker and Koin bindings for draining xAPI remote write queue
</comment><date>2026-09-17 11:58:48 +0400</date><id>0260997a7fbac331cc4f6cc797ecbe6425bee694</id><msg>Add Android worker and Koin bindings for draining xAPI remote write queue</msg><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/README.md</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>README.md</affectedPath><commitId>c139595ee01b99703afe3d056b9330ddd58d35ce</commitId><timestamp>1789634063000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update readme references that used to point to respect-app-compose to point to app-android.
</comment><date>2026-09-17 12:34:23 +0400</date><id>c139595ee01b99703afe3d056b9330ddd58d35ce</id><msg>Update readme references that used to point to respect-app-compose to point to app-android.</msg><path><editType>edit</editType><file>respect-app-compose/README.md</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><affectedPath>respect-app-compose/doc/run-config-settings.png</affectedPath><affectedPath>respect-app-compose/doc/app-config-dropdown.png</affectedPath><commitId>d7108c8ff014fd19318491a409268e87e8f53357</commitId><timestamp>1789634242000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Move Android Studio screenshots to app-android
</comment><date>2026-09-17 12:37:22 +0400</date><id>d7108c8ff014fd19318491a409268e87e8f53357</id><msg>Move Android Studio screenshots to app-android</msg><path><editType>add</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>add</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</commitId><timestamp>1789635473000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:57:53 +0400</date><id>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>a684966bdd27dc61aed963dc8972d3340a2163cb</commitId><timestamp>1789635567000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:59:27 +0400</date><id>a684966bdd27dc61aed963dc8972d3340a2163cb</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</affectedPath><affectedPath>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</affectedPath><commitId>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</commitId><timestamp>1789636894000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add profile id doc for storing and retrieving an OPDS collection.
Add recipe for pinning collections.
</comment><date>2026-09-17 13:21:34 +0400</date><id>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</id><msg>Add profile id doc for storing and retrieving an OPDS collection.</msg><path><editType>add</editType><file>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>respect-lib-cache/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>respect-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</affectedPath><affectedPath>lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/well-known/assetlinks.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>respect-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.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/ManagerServerCLI.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-credentials/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>lib-credentials/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>app-server/well-known/assetlinks.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/app.html</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/AGENTS.md</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>app-server/well-known/terms.html</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>respect-cli/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>respect-lib-cache/README.md</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>app-cli/.gitignore</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-shared-se/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>app-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>app-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>app-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-serializers/README.md</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.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/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.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/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.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/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-credentials/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-server/well-known/terms.html</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/README.md</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>lib-cache/.gitignore</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>lib-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>lib-shared-se/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-ihttp-core/.gitignore</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-app-compose/README.md</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/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/.gitignore</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>app-server/README.md</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>app-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>lib-appui-compose/README.md</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/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>ci-run-test-server.sh</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.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/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-ihttp-iostreams/README.md</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>respect-server/src/main/resources/logback.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>app-server/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>respect-server/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>app-cli/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/logback.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-server/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-appui-compose/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>respect-cli/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-credentials/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</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/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-serializers/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><commitId>dbe60749389bc418284e0690884eee431ca51bd9</commitId><timestamp>1789646998000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update module naming convention.
</comment><date>2026-09-17 16:09:58 +0400</date><id>dbe60749389bc418284e0690884eee431ca51bd9</id><msg>Update module naming convention.</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/books.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared-se/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-credentials/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.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>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/README.md</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README.md</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.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><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>delete</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>edit</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>add</editType><file>app-server/src/main/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>add</editType><file>lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>add</editType><file>app-server/well-known/terms.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/books.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</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/util/DurationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/.gitignore</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/strings.xml</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/README.md</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>app-cli/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-server/well-known/terms.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>add</editType><file>lib-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/build.gradle.kts</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.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>delete</editType><file>respect-lib-shared/AGENTS.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/.gitignore</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-credentials/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.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>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-ihttp-core/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.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>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>delete</editType><file>respect-cli/.gitignore</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.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/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>delete</editType><file>respect-server/.gitignore</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.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>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>add</editType><file>lib-cache/README.md</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/.gitignore</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>delete</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-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>delete</editType><file>respect-cli/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/app.html</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>edit</editType><file>ci-run-test-server.sh</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>app-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/AGENTS.md</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/README.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>add</editType><file>lib-serializers/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/application.conf</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>add</editType><file>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>app-cli/.gitignore</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>add</editType><file>lib-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/.gitignore</file></path><path><editType>add</editType><file>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>add</editType><file>app-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>app-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/logback.xml</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>add</editType><file>lib-appui-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/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>edit</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.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>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/application.conf</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><commitId>78c9a20922e2d10d126600ae9c292ed9624179d2</commitId><timestamp>1789647047000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update respect-server.service template.
</comment><date>2026-09-17 16:10:47 +0400</date><id>78c9a20922e2d10d126600ae9c292ed9624179d2</id><msg>Update respect-server.service template.</msg><path><editType>edit</editType><file>app-server/src/dist/systemd/respect-server.service</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/respect-app.db</affectedPath><affectedPath>respect-server/data/dir-admin.txt</affectedPath><affectedPath>respect-server/data/respect-app.db-shm</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_</affectedPath><affectedPath>respect-server/data/server.properties</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</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/http___10_40_49_70_8098_/http___10_40_49_70_8098_</file></path><path><editType>delete</editType><file>respect-server/data/server.properties</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db-wal</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_-shm</file></path><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></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</commitId><timestamp>1789648790000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to reflect module renaming and avoid accidental commit of old server data.
</comment><date>2026-09-17 16:39:50 +0400</date><id>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</id><msg>Update gitignore to reflect module renaming and avoid accidental commit of old server data.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>composeApp/src/desktopMain/resources/img/spix_logo.png</affectedPath><affectedPath>composeApp/src/desktopMain/resources/img/respect_logo.png</affectedPath><affectedPath>.gitignore</affectedPath><commitId>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</commitId><timestamp>1789648861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete old composeApp directory.
</comment><date>2026-09-17 16:41:01 +0400</date><id>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</id><msg>Remove obsolete old composeApp directory.</msg><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/respect_logo.png</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/spix_logo.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/README.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>5461c3e7ef70a4307f6868bed4093e414b7312ff</commitId><timestamp>1789649231000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix links in AGENTS.md and README.md
</comment><date>2026-09-17 16:47:11 +0400</date><id>5461c3e7ef70a4307f6868bed4093e414b7312ff</id><msg>Fix links in AGENTS.md and README.md</msg><path><editType>edit</editType><file>app-server/README.md</file></path><path><editType>edit</editType><file>AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.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/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</commitId><timestamp>1789653548000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete SchoolApp datasource.
</comment><date>2026-09-17 17:59:08 +0400</date><id>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</id><msg>Remove obsolete SchoolApp datasource.</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.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>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.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/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.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/daos/SchoolAppEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/opdsfeededit/OpdsFeedEditViewModel.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.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/opds/ext/OpdsFeedEntityExt.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>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><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/RespectSchoolDatabase.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.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/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.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>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.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-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/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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>delete</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/daos/OpdsFeedEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</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/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/opds/OpdsFeedDataSourceRepository.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/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></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-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/opds/OpdsRespectRepositoryIntegrationTest.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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/ETagAndLastModifiedExt.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/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/flow/RepoFlowTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.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_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/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-pending/001_005_add_school_self_registration_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_002_add_user_direct_test.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/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows-pending/001_005_add_school_self_registration_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class.yaml</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>.maestro/flows/002_001_browse_lessons_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/001_003_login_using_school_link_test.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/subflows/admin_add_new_student_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_student.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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>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/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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/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/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.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>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/RespectSchoolDatabaseMigrations.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/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.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/entities/XapiStateDocumentEntity.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/school/xapi/daos/XapiActivityProfileDocumentDao.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/adapters/XapiStateDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.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/entities/XapiActivityProfileDocumentShaEntity.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.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-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/XapiActivityProfileDocumentEntity.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.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>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/AbstractXapiStateResourceTest.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>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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.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/resources/XapiResource.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.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><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/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>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.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/XapiStateResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.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-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/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-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/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.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>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>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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json</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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.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>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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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>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/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.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>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.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>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.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>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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.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/local/XapiAgentProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.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>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><commitId>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</commitId><timestamp>1790178862000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete models and add authentication options to SchoolDirectoryEntry.
</comment><date>2026-09-23 19:54:22 +0400</date><id>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</id><msg>Remove obsolete models and add authentication options to SchoolDirectoryEntry.</msg><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-ihttp-core/README.md</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>edit</editType><file>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><commitId>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</commitId><timestamp>1790242625000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.
</comment><date>2026-09-24 13:37:05 +0400</date><id>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</id><msg>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.</msg><path><editType>edit</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/AGENTS.md</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><commitId>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</commitId><timestamp>1790324036000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor statement handling into StatementResourceResponder and add tests
</comment><date>2026-09-25 12:13:56 +0400</date><id>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</id><msg>Refactor statement handling into StatementResourceResponder and add tests</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><commitId>532bc906ffa34ddbb9ef16c2558aa16d147099f8</commitId><timestamp>1790344131000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:48:51 +0400</date><id>532bc906ffa34ddbb9ef16c2558aa16d147099f8</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><commitId>4f49d34ee2e085c1fea6d13bef1db2147de881f7</commitId><timestamp>1790344141000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:49:01 +0400</date><id>4f49d34ee2e085c1fea6d13bef1db2147de881f7</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><commitId>bc9ca414264225b7baae09c6bc4edcfd09082f2b</commitId><timestamp>1790345194000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity and Agent Profile resources to lib-xapi-nanohttpd
</comment><date>2026-09-25 18:06:34 +0400</date><id>bc9ca414264225b7baae09c6bc4edcfd09082f2b</id><msg>Add Activity and Agent Profile resources to lib-xapi-nanohttpd</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><commitId>a9b542c379201dadc2b83628271fe759d4b22468</commitId><timestamp>1790351054000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.
</comment><date>2026-09-25 19:44:14 +0400</date><id>a9b542c379201dadc2b83628271fe759d4b22468</id><msg>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.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/XapiAgentProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>dc66f8d0fb256ba2e927b12a6399e99a079e8889</commitId><timestamp>1790602139000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 17:28:59 +0400</date><id>dc66f8d0fb256ba2e927b12a6399e99a079e8889</id><msg>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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/XapiResourceDb.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><commitId>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</commitId><timestamp>1790604419000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 18:06:59 +0400</date><id>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</id><msg>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>.junie/guidelines.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><commitId>4590826c4dce9753efdd28a083301f5d917c4850</commitId><timestamp>1790611835000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiDocument bundle adapter for IPC
</comment><date>2026-09-28 20:10:35 +0400</date><id>4590826c4dce9753efdd28a083301f5d917c4850</id><msg>Add XapiDocument bundle adapter for IPC</msg><path><editType>add</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>.junie/guidelines.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-server/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><commitId>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</commitId><timestamp>1790664641000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiStatementResource IPC tests and update IPC bundle serialization
</comment><date>2026-09-29 10:50:41 +0400</date><id>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</id><msg>Add XapiStatementResource IPC tests and update IPC bundle serialization</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>f6b1de5f635ffc7476de454ea7acd837459a7867</commitId><timestamp>1790671033000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.
</comment><date>2026-09-29 12:37:13 +0400</date><id>f6b1de5f635ffc7476de454ea7acd837459a7867</id><msg>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.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-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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/resources/XapiStatementsResource.kt</affectedPath><commitId>cddb1f3275d3901a8d88985fa0b99d82deef140b</commitId><timestamp>1790674466000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Bundle query parameter helpers and update xAPI IPC to use Parameters
</comment><date>2026-09-29 13:34:26 +0400</date><id>cddb1f3275d3901a8d88985fa0b99d82deef140b</id><msg>Add Bundle query parameter helpers and update xAPI IPC to use Parameters</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</commitId><timestamp>1790679504000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod
</comment><date>2026-09-29 14:58:24 +0400</date><id>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</id><msg>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><commitId>9da84a63b24916c7e3b21a1e45db41179e4396f6</commitId><timestamp>1790684723000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcService message handling into dedicated resource handlers.
</comment><date>2026-09-29 16:25:23 +0400</date><id>9da84a63b24916c7e3b21a1e45db41179e4396f6</id><msg>Refactor XapiIpcService message handling into dedicated resource handlers.</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><commitId>001f142bfd024f2c79af1326d8d9f097761a3b93</commitId><timestamp>1790686252000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add BundleHeaders and refactor IPC bundle header and query parameter helpers
</comment><date>2026-09-29 16:50:52 +0400</date><id>001f142bfd024f2c79af1326d8d9f097761a3b93</id><msg>Add BundleHeaders and refactor IPC bundle header and query parameter helpers</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><commitId>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</commitId><timestamp>1790701915000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle document resource IPC requests asynchronously
</comment><date>2026-09-29 21:11:55 +0400</date><id>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</id><msg>Handle document resource IPC requests asynchronously</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</affectedPath><commitId>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</commitId><timestamp>1790765358000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper
</comment><date>2026-09-30 14:49:18 +0400</date><id>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</id><msg>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>62d6551c2f877ff6c9cda56e7781561fb24ae622</commitId><timestamp>1790768294000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity Profile and Agent Profile IPC support.
</comment><date>2026-09-30 15:38:14 +0400</date><id>62d6551c2f877ff6c9cda56e7781561fb24ae622</id><msg>Add Activity Profile and Agent Profile IPC support.</msg><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-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>51485ce7d9a4c45fc42969f2abf14787d5ced704</commitId><timestamp>1790768661000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients
</comment><date>2026-09-30 15:44:21 +0400</date><id>51485ce7d9a4c45fc42969f2abf14787d5ced704</id><msg>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients</msg><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>279faf43f09e11139758541d034ec367c0895cc4</commitId><timestamp>1790775367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion
</comment><date>2026-09-30 17:36:07 +0400</date><id>279faf43f09e11139758541d034ec367c0895cc4</id><msg>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion</msg><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</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-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.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/XapiAgentProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</affectedPath><commitId>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</commitId><timestamp>1790777538000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Quote ETag values in xAPI document resources and queries
</comment><date>2026-09-30 18:12:18 +0400</date><id>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</id><msg>Quote ETag values in xAPI document resources and queries</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.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/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>edit</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</affectedPath><commitId>4d2a4f4e44b3e5cfecc841da185645457dc1013a</commitId><timestamp>1790788510000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321
</comment><date>2026-09-30 21:15:10 +0400</date><id>4d2a4f4e44b3e5cfecc841da185645457dc1013a</id><msg>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</file></path><path><editType>edit</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</file></path><path><editType>edit</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_PERMISSIONS.md</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><commitId>9cea818ba83b6b2052e34a92bd08d6268628382d</commitId><timestamp>1790859279000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update permissions concept README.
</comment><date>2026-10-01 16:54:39 +0400</date><id>9cea818ba83b6b2052e34a92bd08d6268628382d</id><msg>Update permissions concept README.</msg><path><editType>add</editType><file>lib-xapi-core/README_PERMISSIONS.md</file></path><path><editType>delete</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</affectedPath><commitId>6f211e0949e3a26ab55107153b207b2ad555850d</commitId><timestamp>1790862214000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make detail screens scrollable, adjust padding
</comment><date>2026-10-01 17:43:34 +0400</date><id>6f211e0949e3a26ab55107153b207b2ad555850d</id><msg>Make detail screens scrollable, adjust padding</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><commitId>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</commitId><timestamp>1790927239000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add show more/show less option to AlternativeLangLinks.kt
</comment><date>2026-10-02 11:47:19 +0400</date><id>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</id><msg>Add show more/show less option to AlternativeLangLinks.kt</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>c8213a6965b8081aeb8b10af77f59881d16281b9</commitId><timestamp>1790927623000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-10-02 11:53:43 +0400</date><id>c8213a6965b8081aeb8b10af77f59881d16281b9</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></lastCompletedBuild><lastStableBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>54</buildNumber><marked><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#54</displayName><duration>143718</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #54</fullDisplayName><id>54</id><inProgress>false</inProgress><keepLog>false</keepLog><number>54</number><queueId>273</queueId><result>SUCCESS</result><timestamp>1790932390799</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/54/</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-app-compose/src/commonMain/kotlin/world/respect/app/app/App.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/apps/launcher/AppLauncherViewModel.kt</file></path><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-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/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.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>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/settings/SettingsViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.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>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/curriculum/mapping/list/CurriculumMappingListScreen.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>add</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/navigation/AppRoutes.kt</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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><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></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>.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/lesson002.html</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/subflows/admin_add_app_and_teacher.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.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/lesson002.json</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.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/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/video.mp4</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/subflows/school_admin_login_flow.yaml</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/lesson002.html</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>delete</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>add</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/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-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-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-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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/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><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/learningunit/list/LearningUnitListScreen.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>add</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/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/playlists/mapping/share/PlaylistShareScreen.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/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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/playlists/mapping/share/PlaylistShareViewModel.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></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-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/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/list/PlaylistListScreen.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/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>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/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_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/002_user_add_apps_playlists_bookmarks_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/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_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_005_add_school_self_registration_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/playlists/mapping/edit/PlaylistEditViewModel.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/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-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/commonMain/kotlin/world/respect/app/app/App.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/playlists/mapping/edit/PlaylistEditViewModel.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/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-lib-shared/src/commonMain/composeResources/values/strings.xml</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-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-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>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>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-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><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-lib-shared/src/commonMain/composeResources/values/strings.xml</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/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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</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-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>.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><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-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>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><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/viewmodel/apps/launcher/AppLauncherViewModel.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/apps/enterlink/EnterLinkViewModel.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/share/PlaylistShareViewModel.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><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/apps/launcher/AppLauncherViewModel.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-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/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</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>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/view/learningunit/list/LearningUnitListScreen.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/learningunit/list/LearningUnitListViewModel.kt</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>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>.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>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>.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><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/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/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/playlists/mapping/list/PlaylistListViewModel.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-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/learningunit/list/LearningUnitListViewModel.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-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/domain/account/username/GetActiveUsernameUseCase.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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/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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/mapping/edit/Externallinkeditviewmodel.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/cover.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</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>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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/domain/externallink/ExtractWebPageMetadataUseCase.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/Externallinkeditviewmodel.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/androidMain/kotlin/world/respect/AppKoinModule.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-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png</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>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/lesson001.html</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.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/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.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/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.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>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/learningunit/list/LearningUnitListScreen.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></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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.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><path><editType>add</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-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.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>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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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-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/daos/OpdsFeedEntityDao.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/apps/enterlink/EnterLinkViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.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-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><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/list/PlaylistListScreen.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</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/playlists/mapping/list/PlaylistListViewModel.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-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/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/list/PlaylistListScreen.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></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/playlists/mapping/list/PlaylistListViewModel.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-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/share/PlaylistShareViewModel.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</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><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.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-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/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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</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>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/mapping/edit/PlaylistEditViewModel.kt</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>.maestro/flows/subflows/admin_add_app.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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/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/lesson002/lesson002.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.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/examples/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</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/grade1.json</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/subflows/admin_add_app.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/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-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/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></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-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/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/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></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/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.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/apps/enterlink/EnterLinkViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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><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/viewmodel/apps/launcher/AppLauncherViewModel.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-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>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><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/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></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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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>add</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/mapping/edit/PlaylistEditScreen.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>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>add</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/playlists/mapping/share/PlaylistShareScreen.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>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-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/home/HomeScreen.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>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>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/share/PlaylistShareViewModel.kt</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/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>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-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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.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>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>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/home/HomeScreen.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>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-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/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>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/playlists/collections/share/PlaylistShareScreen.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/playlists/collections/edit/PlaylistEditViewModel.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>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/apps/detail/AppsDetailViewModel.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/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>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-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/detail/AppsDetailViewModel.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-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/list/PlaylistListViewModel.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/collections/detail/PlaylistDetailViewModel.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/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></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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</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_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_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><path><editType>delete</editType><file>.maestro/flows/002_001_browse_lessons_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_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/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/001_001_invite_users_using_qr_code_or_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/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_class_with_members.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_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/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></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>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_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><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><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-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></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/learningunit/list/LearningUnitListViewModel.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>.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/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.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/assignment/edit/AssignmentEditViewModel.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/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-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/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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/assignment/edit/AssignmentEditViewModel.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/learningunit/detail/LearningUnitDetailViewModel.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/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/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.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/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-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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><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/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>add</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/util/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/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/apps/detail/AppsDetailViewModel.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/learningunit/editfeed/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.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/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/collections/edit/PlaylistEditScreen.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>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/collections/edit/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>app-android/src/main/kotlin/world/respect/AppKoinModule.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.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/viewmodel/assignment/edit/AssignmentEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.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>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/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</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/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/playlists/collections/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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.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/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>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/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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-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/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-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/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.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/OpdsFeedEditNavigationItemRow.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/OpdsFeedEditPublicationItemRow.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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-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/editfeed/OpdsFeedEditAddItemBottomSheet.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/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/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><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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.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-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/learningunit/OpdsPickType.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/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.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>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/ext/OpdsFeedExt.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-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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.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-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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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-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/bookmark/BookmarkListViewModel.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/apps/launcher/AppLauncherViewModel.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/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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.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/learningunit/list/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><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/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/editfeed/OpdsFeedEditAddItemBottomSheet.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-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/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.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>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/OpdsFeedEditAddItemBottomSheet.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>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.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/editfeed/OpdsFeedEditAddItemBottomSheet.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>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.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-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.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>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.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>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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.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>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-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.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>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-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/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.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/opdscatalog/detail/LearningUnitDetailScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.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>edit</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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>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/viewmodel/apps/detail/AppsDetailViewModel.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</file></path><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/OpdsFeedListItem.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>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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-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/assignment/edit/AssignmentEditViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.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/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.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>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.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>edit</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/bookmark/BookmarkListViewModel.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.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-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/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.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/feededit/OpdsFeedGroupEditItem.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/opdsfeededit/OpdsFeedEditGroupMenuItemButton.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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.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-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/catalog/feeddetail/OpdsFeedDetailScreen.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.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>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/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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.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/feeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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/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>delete</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-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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>delete</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/opdsfeeddetail/OpdsFeedDetailHeader.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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/opdsfeedlist/OpdsFeedListViewModel.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/catalog/opdsfeeddetail/OpdsFeedDetailScreen.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-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>README_ADD_YOUR_APP.md</affectedPath><commitId>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</commitId><timestamp>1788338743000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md
</comment><date>2026-09-02 12:45:43 +0400</date><id>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</id><msg>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>abb85e6dbd78321176aca3bf9c5249d16722d1a8</commitId><timestamp>1788547140000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for main project and respect-lib-shared.
</comment><date>2026-09-04 22:39:00 +0400</date><id>abb85e6dbd78321176aca3bf9c5249d16722d1a8</id><msg>Update AGENTS.md for main project and respect-lib-shared.</msg><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>add</editType><file>respect-lib-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><commitId>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</commitId><timestamp>1788601024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for respect-datalayer and respect-datalayer-db.
</comment><date>2026-09-05 13:37:04 +0400</date><id>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</id><msg>Update AGENTS.md for respect-datalayer and respect-datalayer-db.</msg><path><editType>edit</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><commitId>dc559585e29f8e13215111b3b25763535378dcb9</commitId><timestamp>1788625143000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:19:03 +0400</date><id>dc559585e29f8e13215111b3b25763535378dcb9</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><commitId>4205e63579b8bbee151c447a65f486c1661e0dd7</commitId><timestamp>1788625374000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:22:54 +0400</date><id>4205e63579b8bbee151c447a65f486c1661e0dd7</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>577aee82bf7fedf9f84be8febb5b9d163a125af4</commitId><timestamp>1788626077000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename DocumentParams and MultiDocParams.
</comment><date>2026-09-05 20:34:37 +0400</date><id>577aee82bf7fedf9f84be8febb5b9d163a125af4</id><msg>Rename DocumentParams and MultiDocParams.</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>45573cfef56405f2586ad4835917c3ff87571c4d</commitId><timestamp>1788627046000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt
</comment><date>2026-09-05 20:50:46 +0400</date><id>45573cfef56405f2586ad4835917c3ff87571c4d</id><msg>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><commitId>251e4f854a3f454a080e2d8fbcf181948b981229</commitId><timestamp>1788685088000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add xAPI Activity Profile route
</comment><date>2026-09-06 12:58:08 +0400</date><id>251e4f854a3f454a080e2d8fbcf181948b981229</id><msg>Add xAPI Activity Profile route</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><commitId>87e5948c6a605bf31d88772a68c3605305888583</commitId><timestamp>1788687103000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md guidance for datalayer-db and datalayer-http.

Rename http resource client suffix to HttpClient for clarity.
</comment><date>2026-09-06 13:31:43 +0400</date><id>87e5948c6a605bf31d88772a68c3605305888583</id><msg>Update AGENTS.md guidance for datalayer-db and datalayer-http.</msg><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><commitId>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</commitId><timestamp>1788714465000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiActivityProfileResourceHttpClient implementation.
</comment><date>2026-09-06 21:07:45 +0400</date><id>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</id><msg>Add XapiActivityProfileResourceHttpClient implementation.</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.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>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-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><commitId>43a6e66b210e450437282cd6e416f17d7cb1ad73</commitId><timestamp>1788853155000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: add guidance on document APIs synchronizing deletions.
</comment><date>2026-09-08 11:39:15 +0400</date><id>43a6e66b210e450437282cd6e416f17d7cb1ad73</id><msg>Work in progress: add guidance on document APIs synchronizing deletions.</msg><path><editType>edit</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>respect-lib-xapi-core/.gitignore</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/model/XapiStatementResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><commitId>c36bb3577bad1ef977ec836354220b2ba9d22dfc</commitId><timestamp>1788853793000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update xapi module package names to follow new convention - just lib.
</comment><date>2026-09-08 11:49:53 +0400</date><id>c36bb3577bad1ef977ec836354220b2ba9d22dfc</id><msg>Update xapi module package names to follow new convention - just lib.</msg><path><editType>delete</editType><file>respect-lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-test/README.md</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/.gitignore</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>lib-xapi-test/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><commitId>4b8356ac8edccff843d686ad757ccf47029c9b53</commitId><timestamp>1788859439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi statement resource tests into lib-xapi-test
</comment><date>2026-09-08 13:23:59 +0400</date><id>4b8356ac8edccff843d686ad757ccf47029c9b53</id><msg>Refactor xapi statement resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/.gitignore</file></path><path><editType>edit</editType><file>build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>8f13aef35fa76a8a389d47f7aae91e610e324e6e</commitId><timestamp>1788962068000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.

Fix PinPublicationPrepareUseCase to avoid attempting to download an intent url.
</comment><date>2026-09-09 17:54:28 +0400</date><id>8f13aef35fa76a8a389d47f7aae91e610e324e6e</id><msg>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.</msg><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.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-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/resources/directories/default.properties</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>56e0677bd714bc6e10e3dede68d664ca17970d21</commitId><timestamp>1788972022000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AndroidManifest.xml to include new testing server url.
Move directories/default.properties data into commonMain
Update Login screen to show server url and location.
Bump version.
</comment><date>2026-09-09 20:40:22 +0400</date><id>56e0677bd714bc6e10e3dede68d664ca17970d21</id><msg>Update AndroidManifest.xml to include new testing server url.</msg><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.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/manageuser/login/LoginViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><commitId>15024741e858b809e2c0f00024094886c11e4bb7</commitId><timestamp>1788975563000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version number
</comment><date>2026-09-09 21:39:23 +0400</date><id>15024741e858b809e2c0f00024094886c11e4bb7</id><msg>Bump version number</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/build.gradle.kts</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-util/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/openapi/openapi.yaml</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/desktopMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><commitId>82241844fac122cf490228c6cdd1b4c4f8c8d97b</commitId><timestamp>1789027836000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.

Remove most usage of deprecated by getting.
</comment><date>2026-09-10 12:10:36 +0400</date><id>82241844fac122cf490228c6cdd1b4c4f8c8d97b</id><msg>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.</msg><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/openapi/openapi.yaml</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-test-resources/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-util/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><commitId>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</commitId><timestamp>1789027852000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add 9.json database schema.
</comment><date>2026-09-10 12:10:52 +0400</date><id>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</id><msg>Add 9.json database schema.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>settings.gradle.kts</affectedPath><commitId>243a1fbac1da00f207bb1cd12bbb24101f206311</commitId><timestamp>1789028840000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to AGP9.4
</comment><date>2026-09-10 12:27:20 +0400</date><id>243a1fbac1da00f207bb1cd12bbb24101f206311</id><msg>Update to AGP9.4</msg><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>3e13e3586a326fede7494c10f15d257af2d99d74</commitId><timestamp>1789039879000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.
</comment><date>2026-09-10 15:31:19 +0400</date><id>3e13e3586a326fede7494c10f15d257af2d99d74</id><msg>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><commitId>a0cda72277aa552c22f36d36d56fc8d6f512b377</commitId><timestamp>1789041071000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of duration for StatementDetail.
</comment><date>2026-09-10 15:51:11 +0400</date><id>a0cda72277aa552c22f36d36d56fc8d6f512b377</id><msg>Fix display of duration for StatementDetail.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>bac981ed8f6a77591d1587b958844d48efc761cf</commitId><timestamp>1789041138000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version.
</comment><date>2026-09-10 15:52:18 +0400</date><id>bac981ed8f6a77591d1587b958844d48efc761cf</id><msg>Bump version.</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/proguard-rules.pro</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>79deada44cd8d64b20be58b99fec2fb09bb003e2</commitId><timestamp>1789044795000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.

See See https://github.com/googlesamples/mlkit/issues/1018
</comment><date>2026-09-10 16:53:15 +0400</date><id>79deada44cd8d64b20be58b99fec2fb09bb003e2</id><msg>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.</msg><path><editType>edit</editType><file>app-android/proguard-rules.pro</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</commitId><timestamp>1789050579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update issue template label for app catalog request
</comment><date>2026-09-10 18:29:39 +0400</date><id>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</id><msg>Update issue template label for app catalog request</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/AGENTS.md</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><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/ext/JsonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><commitId>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</commitId><timestamp>1789125475000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi activity profile resource tests into lib-xapi-test
</comment><date>2026-09-11 15:17:55 +0400</date><id>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</id><msg>Refactor xapi activity profile resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>respect-datalayer-http/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>respect-lib-dataloadstate/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/README.md</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-http-server/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer/README.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><commitId>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</commitId><timestamp>1789138166000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-11 18:49:26 +0400</date><id>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/README.md</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>delete</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/README.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.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>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/log/respect-server.log</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>lib-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.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/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.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/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.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/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>lib-dataloadstate/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>lib-datalayer/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><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/OpdsParentType.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><commitId>1fdee8fd227baf98d3e35e3ba67052039ade1c06</commitId><timestamp>1789231861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-12 20:51:01 +0400</date><id>1fdee8fd227baf98d3e35e3ba67052039ade1c06</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>add</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-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/README.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>add</editType><file>lib-datalayer/.gitignore</file></path><path><editType>add</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>add</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/.gitignore</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>add</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-http-client/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>add</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/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/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</commitId><timestamp>1789234052000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.
</comment><date>2026-09-12 21:27:32 +0400</date><id>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</id><msg>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.</msg><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><commitId>a4be79ea8447a78e29d16546cda7a1005fa910da</commitId><timestamp>1789234392000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove test server log.
</comment><date>2026-09-12 21:33:12 +0400</date><id>a4be79ea8447a78e29d16546cda7a1005fa910da</id><msg>Remove test server log.</msg><path><editType>delete</editType><file>lib-datalayer-http-client/log/respect-server.log</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><commitId>32f939cfb5f2d87aa51b99430ae7022ac672402f</commitId><timestamp>1789235528000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:52:08 +0400</date><id>32f939cfb5f2d87aa51b99430ae7022ac672402f</id><msg>Fix compilation/build</msg><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><commitId>d562f7340895f9011ec5a6583f99ef71189ba4ce</commitId><timestamp>1789235780000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:56:20 +0400</date><id>d562f7340895f9011ec5a6583f99ef71189ba4ce</id><msg>Fix compilation/build</msg><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.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-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-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><commitId>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</commitId><timestamp>1789303701000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes

Refactor to using a shared AbstractXapiActivityProfileTest that tests both the database and http client/server implementation.
</comment><date>2026-09-13 16:48:21 +0400</date><id>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</id><msg>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes</msg><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</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-http-client/AGENTS.md</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>fa76edcd0b7c47438331555e261a2542817047a5</commitId><timestamp>1789303752000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to ignore logs generated by unit tests running in modules.
</comment><date>2026-09-13 16:49:12 +0400</date><id>fa76edcd0b7c47438331555e261a2542817047a5</id><msg>Update gitignore to ignore logs generated by unit tests running in modules.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.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/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><commitId>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</commitId><timestamp>1789314120000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add embedded data source server helper and refactor xAPI HTTP client tests
</comment><date>2026-09-13 19:42:00 +0400</date><id>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</id><msg>Add embedded data source server helper and refactor xAPI HTTP client tests</msg><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><commitId>05b241602e4a58a0ccdc1e00ac60e42f58996499</commitId><timestamp>1789314234000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove extra time logging in WithEmbeddedDataSourceServer.kt
</comment><date>2026-09-13 19:43:54 +0400</date><id>05b241602e4a58a0ccdc1e00ac60e42f58996499</id><msg>Remove extra time logging in WithEmbeddedDataSourceServer.kt</msg><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>258efbc61c11e29cd50493ce504f1bf34fe6d55c</commitId><timestamp>1789382805000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify app manifest URL requirements in issue template

Updated the template to clarify the requirement for the launchable app manifest URL and corrected the reference to the integration guide.
</comment><date>2026-09-14 14:46:45 +0400</date><id>258efbc61c11e29cd50493ce504f1bf34fe6d55c</id><msg>Clarify app manifest URL requirements in issue template</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><commitId>e424bad5d6cc8e45475203496f0e3a00e3757134</commitId><timestamp>1789464579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add conditional if-modified-since GET support for xAPI activity profile resources
</comment><date>2026-09-15 13:29:39 +0400</date><id>e424bad5d6cc8e45475203496f0e3a00e3757134</id><msg>Add conditional if-modified-since GET support for xAPI activity profile resources</msg><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.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/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</file></path><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt</affectedPath><commitId>c1c136ac127a8991dc153daf8689c73e7f199b2a</commitId><timestamp>1789476714000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Support ETag validation and SHA-1 caching for xAPI activity profile documents.
</comment><date>2026-09-15 16:51:54 +0400</date><id>c1c136ac127a8991dc153daf8689c73e7f199b2a</id><msg>Support ETag validation and SHA-1 caching for xAPI activity profile documents.</msg><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</file></path><path><editType>add</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-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</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-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/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.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/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.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/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>afab3fd1f76c527cfce39689a35b0a7e57c91405</commitId><timestamp>1789557692000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core
</comment><date>2026-09-16 15:21:32 +0400</date><id>afab3fd1f76c527cfce39689a35b0a7e57c91405</id><msg>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core</msg><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.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/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</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/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</commitId><timestamp>1789575164000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement XapiRemoteWriteQueue database storage and repository integration
</comment><date>2026-09-16 20:12:44 +0400</date><id>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</id><msg>Implement XapiRemoteWriteQueue database storage and repository integration</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.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>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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/SchoolTypeConverters.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.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-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><commitId>2d04d961dc60a83d4dfc89c007f2c065af919f93</commitId><timestamp>1789577713000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients
</comment><date>2026-09-16 20:55:13 +0400</date><id>2d04d961dc60a83d4dfc89c007f2c065af919f93</id><msg>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><commitId>660d9c447d17a594d894a0ae82299feb2c23cbf7</commitId><timestamp>1789579142000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial working implementation of XapiActivityProfileResourceRepository.
</comment><date>2026-09-16 21:19:02 +0400</date><id>660d9c447d17a594d894a0ae82299feb2c23cbf7</id><msg>Initial working implementation of XapiActivityProfileResourceRepository.</msg><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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><commitId>0260997a7fbac331cc4f6cc797ecbe6425bee694</commitId><timestamp>1789631928000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Android worker and Koin bindings for draining xAPI remote write queue
</comment><date>2026-09-17 11:58:48 +0400</date><id>0260997a7fbac331cc4f6cc797ecbe6425bee694</id><msg>Add Android worker and Koin bindings for draining xAPI remote write queue</msg><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/README.md</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>README.md</affectedPath><commitId>c139595ee01b99703afe3d056b9330ddd58d35ce</commitId><timestamp>1789634063000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update readme references that used to point to respect-app-compose to point to app-android.
</comment><date>2026-09-17 12:34:23 +0400</date><id>c139595ee01b99703afe3d056b9330ddd58d35ce</id><msg>Update readme references that used to point to respect-app-compose to point to app-android.</msg><path><editType>edit</editType><file>respect-app-compose/README.md</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><affectedPath>respect-app-compose/doc/run-config-settings.png</affectedPath><affectedPath>respect-app-compose/doc/app-config-dropdown.png</affectedPath><commitId>d7108c8ff014fd19318491a409268e87e8f53357</commitId><timestamp>1789634242000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Move Android Studio screenshots to app-android
</comment><date>2026-09-17 12:37:22 +0400</date><id>d7108c8ff014fd19318491a409268e87e8f53357</id><msg>Move Android Studio screenshots to app-android</msg><path><editType>add</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>add</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</commitId><timestamp>1789635473000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:57:53 +0400</date><id>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>a684966bdd27dc61aed963dc8972d3340a2163cb</commitId><timestamp>1789635567000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:59:27 +0400</date><id>a684966bdd27dc61aed963dc8972d3340a2163cb</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</affectedPath><affectedPath>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</affectedPath><commitId>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</commitId><timestamp>1789636894000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add profile id doc for storing and retrieving an OPDS collection.
Add recipe for pinning collections.
</comment><date>2026-09-17 13:21:34 +0400</date><id>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</id><msg>Add profile id doc for storing and retrieving an OPDS collection.</msg><path><editType>add</editType><file>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>respect-lib-cache/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>respect-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</affectedPath><affectedPath>lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/well-known/assetlinks.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>respect-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.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/ManagerServerCLI.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-credentials/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>lib-credentials/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>app-server/well-known/assetlinks.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/app.html</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/AGENTS.md</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>app-server/well-known/terms.html</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>respect-cli/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>respect-lib-cache/README.md</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>app-cli/.gitignore</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-shared-se/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>app-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>app-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>app-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-serializers/README.md</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.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/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.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/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.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/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-credentials/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-server/well-known/terms.html</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/README.md</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>lib-cache/.gitignore</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>lib-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>lib-shared-se/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-ihttp-core/.gitignore</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-app-compose/README.md</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/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/.gitignore</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>app-server/README.md</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>app-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>lib-appui-compose/README.md</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/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>ci-run-test-server.sh</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.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/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-ihttp-iostreams/README.md</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>respect-server/src/main/resources/logback.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>app-server/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>respect-server/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>app-cli/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/logback.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-server/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-appui-compose/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>respect-cli/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-credentials/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</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/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-serializers/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><commitId>dbe60749389bc418284e0690884eee431ca51bd9</commitId><timestamp>1789646998000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update module naming convention.
</comment><date>2026-09-17 16:09:58 +0400</date><id>dbe60749389bc418284e0690884eee431ca51bd9</id><msg>Update module naming convention.</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/books.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared-se/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-credentials/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.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>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/README.md</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README.md</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.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><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>delete</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>edit</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>add</editType><file>app-server/src/main/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>add</editType><file>lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>add</editType><file>app-server/well-known/terms.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/books.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</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/util/DurationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/.gitignore</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/strings.xml</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/README.md</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>app-cli/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-server/well-known/terms.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>add</editType><file>lib-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/build.gradle.kts</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.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>delete</editType><file>respect-lib-shared/AGENTS.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/.gitignore</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-credentials/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.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>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-ihttp-core/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.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>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>delete</editType><file>respect-cli/.gitignore</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.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/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>delete</editType><file>respect-server/.gitignore</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.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>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>add</editType><file>lib-cache/README.md</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/.gitignore</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>delete</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-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>delete</editType><file>respect-cli/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/app.html</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>edit</editType><file>ci-run-test-server.sh</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>app-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/AGENTS.md</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/README.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>add</editType><file>lib-serializers/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/application.conf</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>add</editType><file>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>app-cli/.gitignore</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>add</editType><file>lib-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/.gitignore</file></path><path><editType>add</editType><file>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>add</editType><file>app-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>app-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/logback.xml</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>add</editType><file>lib-appui-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/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>edit</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.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>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/application.conf</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><commitId>78c9a20922e2d10d126600ae9c292ed9624179d2</commitId><timestamp>1789647047000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update respect-server.service template.
</comment><date>2026-09-17 16:10:47 +0400</date><id>78c9a20922e2d10d126600ae9c292ed9624179d2</id><msg>Update respect-server.service template.</msg><path><editType>edit</editType><file>app-server/src/dist/systemd/respect-server.service</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/respect-app.db</affectedPath><affectedPath>respect-server/data/dir-admin.txt</affectedPath><affectedPath>respect-server/data/respect-app.db-shm</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_</affectedPath><affectedPath>respect-server/data/server.properties</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</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/http___10_40_49_70_8098_/http___10_40_49_70_8098_</file></path><path><editType>delete</editType><file>respect-server/data/server.properties</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db-wal</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_-shm</file></path><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></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</commitId><timestamp>1789648790000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to reflect module renaming and avoid accidental commit of old server data.
</comment><date>2026-09-17 16:39:50 +0400</date><id>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</id><msg>Update gitignore to reflect module renaming and avoid accidental commit of old server data.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>composeApp/src/desktopMain/resources/img/spix_logo.png</affectedPath><affectedPath>composeApp/src/desktopMain/resources/img/respect_logo.png</affectedPath><affectedPath>.gitignore</affectedPath><commitId>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</commitId><timestamp>1789648861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete old composeApp directory.
</comment><date>2026-09-17 16:41:01 +0400</date><id>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</id><msg>Remove obsolete old composeApp directory.</msg><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/respect_logo.png</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/spix_logo.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/README.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>5461c3e7ef70a4307f6868bed4093e414b7312ff</commitId><timestamp>1789649231000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix links in AGENTS.md and README.md
</comment><date>2026-09-17 16:47:11 +0400</date><id>5461c3e7ef70a4307f6868bed4093e414b7312ff</id><msg>Fix links in AGENTS.md and README.md</msg><path><editType>edit</editType><file>app-server/README.md</file></path><path><editType>edit</editType><file>AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.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/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</commitId><timestamp>1789653548000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete SchoolApp datasource.
</comment><date>2026-09-17 17:59:08 +0400</date><id>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</id><msg>Remove obsolete SchoolApp datasource.</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.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>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.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/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.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/daos/SchoolAppEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/opdsfeededit/OpdsFeedEditViewModel.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.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/opds/ext/OpdsFeedEntityExt.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>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><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/RespectSchoolDatabase.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.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/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.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>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.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-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/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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>delete</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/daos/OpdsFeedEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</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/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/opds/OpdsFeedDataSourceRepository.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/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></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-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/opds/OpdsRespectRepositoryIntegrationTest.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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/ETagAndLastModifiedExt.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/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/flow/RepoFlowTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.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_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/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-pending/001_005_add_school_self_registration_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_002_add_user_direct_test.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/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows-pending/001_005_add_school_self_registration_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class.yaml</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>.maestro/flows/002_001_browse_lessons_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/001_003_login_using_school_link_test.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/subflows/admin_add_new_student_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_student.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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>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/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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/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/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.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>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/RespectSchoolDatabaseMigrations.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/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.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/entities/XapiStateDocumentEntity.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/school/xapi/daos/XapiActivityProfileDocumentDao.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/adapters/XapiStateDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.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/entities/XapiActivityProfileDocumentShaEntity.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.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-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/XapiActivityProfileDocumentEntity.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.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>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/AbstractXapiStateResourceTest.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>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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.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/resources/XapiResource.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.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><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/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>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.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/XapiStateResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.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-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/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-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/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.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>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>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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json</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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.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>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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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>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/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.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>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.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>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.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>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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.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/local/XapiAgentProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.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>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><commitId>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</commitId><timestamp>1790178862000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete models and add authentication options to SchoolDirectoryEntry.
</comment><date>2026-09-23 19:54:22 +0400</date><id>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</id><msg>Remove obsolete models and add authentication options to SchoolDirectoryEntry.</msg><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-ihttp-core/README.md</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>edit</editType><file>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><commitId>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</commitId><timestamp>1790242625000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.
</comment><date>2026-09-24 13:37:05 +0400</date><id>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</id><msg>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.</msg><path><editType>edit</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/AGENTS.md</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><commitId>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</commitId><timestamp>1790324036000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor statement handling into StatementResourceResponder and add tests
</comment><date>2026-09-25 12:13:56 +0400</date><id>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</id><msg>Refactor statement handling into StatementResourceResponder and add tests</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><commitId>532bc906ffa34ddbb9ef16c2558aa16d147099f8</commitId><timestamp>1790344131000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:48:51 +0400</date><id>532bc906ffa34ddbb9ef16c2558aa16d147099f8</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><commitId>4f49d34ee2e085c1fea6d13bef1db2147de881f7</commitId><timestamp>1790344141000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:49:01 +0400</date><id>4f49d34ee2e085c1fea6d13bef1db2147de881f7</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><commitId>bc9ca414264225b7baae09c6bc4edcfd09082f2b</commitId><timestamp>1790345194000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity and Agent Profile resources to lib-xapi-nanohttpd
</comment><date>2026-09-25 18:06:34 +0400</date><id>bc9ca414264225b7baae09c6bc4edcfd09082f2b</id><msg>Add Activity and Agent Profile resources to lib-xapi-nanohttpd</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><commitId>a9b542c379201dadc2b83628271fe759d4b22468</commitId><timestamp>1790351054000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.
</comment><date>2026-09-25 19:44:14 +0400</date><id>a9b542c379201dadc2b83628271fe759d4b22468</id><msg>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.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/XapiAgentProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>dc66f8d0fb256ba2e927b12a6399e99a079e8889</commitId><timestamp>1790602139000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 17:28:59 +0400</date><id>dc66f8d0fb256ba2e927b12a6399e99a079e8889</id><msg>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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/XapiResourceDb.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><commitId>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</commitId><timestamp>1790604419000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 18:06:59 +0400</date><id>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</id><msg>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>.junie/guidelines.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><commitId>4590826c4dce9753efdd28a083301f5d917c4850</commitId><timestamp>1790611835000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiDocument bundle adapter for IPC
</comment><date>2026-09-28 20:10:35 +0400</date><id>4590826c4dce9753efdd28a083301f5d917c4850</id><msg>Add XapiDocument bundle adapter for IPC</msg><path><editType>add</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>.junie/guidelines.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-server/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><commitId>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</commitId><timestamp>1790664641000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiStatementResource IPC tests and update IPC bundle serialization
</comment><date>2026-09-29 10:50:41 +0400</date><id>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</id><msg>Add XapiStatementResource IPC tests and update IPC bundle serialization</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>f6b1de5f635ffc7476de454ea7acd837459a7867</commitId><timestamp>1790671033000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.
</comment><date>2026-09-29 12:37:13 +0400</date><id>f6b1de5f635ffc7476de454ea7acd837459a7867</id><msg>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.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-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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/resources/XapiStatementsResource.kt</affectedPath><commitId>cddb1f3275d3901a8d88985fa0b99d82deef140b</commitId><timestamp>1790674466000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Bundle query parameter helpers and update xAPI IPC to use Parameters
</comment><date>2026-09-29 13:34:26 +0400</date><id>cddb1f3275d3901a8d88985fa0b99d82deef140b</id><msg>Add Bundle query parameter helpers and update xAPI IPC to use Parameters</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</commitId><timestamp>1790679504000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod
</comment><date>2026-09-29 14:58:24 +0400</date><id>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</id><msg>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><commitId>9da84a63b24916c7e3b21a1e45db41179e4396f6</commitId><timestamp>1790684723000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcService message handling into dedicated resource handlers.
</comment><date>2026-09-29 16:25:23 +0400</date><id>9da84a63b24916c7e3b21a1e45db41179e4396f6</id><msg>Refactor XapiIpcService message handling into dedicated resource handlers.</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><commitId>001f142bfd024f2c79af1326d8d9f097761a3b93</commitId><timestamp>1790686252000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add BundleHeaders and refactor IPC bundle header and query parameter helpers
</comment><date>2026-09-29 16:50:52 +0400</date><id>001f142bfd024f2c79af1326d8d9f097761a3b93</id><msg>Add BundleHeaders and refactor IPC bundle header and query parameter helpers</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><commitId>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</commitId><timestamp>1790701915000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle document resource IPC requests asynchronously
</comment><date>2026-09-29 21:11:55 +0400</date><id>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</id><msg>Handle document resource IPC requests asynchronously</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</affectedPath><commitId>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</commitId><timestamp>1790765358000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper
</comment><date>2026-09-30 14:49:18 +0400</date><id>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</id><msg>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>62d6551c2f877ff6c9cda56e7781561fb24ae622</commitId><timestamp>1790768294000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity Profile and Agent Profile IPC support.
</comment><date>2026-09-30 15:38:14 +0400</date><id>62d6551c2f877ff6c9cda56e7781561fb24ae622</id><msg>Add Activity Profile and Agent Profile IPC support.</msg><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-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>51485ce7d9a4c45fc42969f2abf14787d5ced704</commitId><timestamp>1790768661000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients
</comment><date>2026-09-30 15:44:21 +0400</date><id>51485ce7d9a4c45fc42969f2abf14787d5ced704</id><msg>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients</msg><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>279faf43f09e11139758541d034ec367c0895cc4</commitId><timestamp>1790775367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion
</comment><date>2026-09-30 17:36:07 +0400</date><id>279faf43f09e11139758541d034ec367c0895cc4</id><msg>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion</msg><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</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-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.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/XapiAgentProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</affectedPath><commitId>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</commitId><timestamp>1790777538000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Quote ETag values in xAPI document resources and queries
</comment><date>2026-09-30 18:12:18 +0400</date><id>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</id><msg>Quote ETag values in xAPI document resources and queries</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.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/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>edit</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</affectedPath><commitId>4d2a4f4e44b3e5cfecc841da185645457dc1013a</commitId><timestamp>1790788510000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321
</comment><date>2026-09-30 21:15:10 +0400</date><id>4d2a4f4e44b3e5cfecc841da185645457dc1013a</id><msg>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</file></path><path><editType>edit</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</file></path><path><editType>edit</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_PERMISSIONS.md</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><commitId>9cea818ba83b6b2052e34a92bd08d6268628382d</commitId><timestamp>1790859279000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update permissions concept README.
</comment><date>2026-10-01 16:54:39 +0400</date><id>9cea818ba83b6b2052e34a92bd08d6268628382d</id><msg>Update permissions concept README.</msg><path><editType>add</editType><file>lib-xapi-core/README_PERMISSIONS.md</file></path><path><editType>delete</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</affectedPath><commitId>6f211e0949e3a26ab55107153b207b2ad555850d</commitId><timestamp>1790862214000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make detail screens scrollable, adjust padding
</comment><date>2026-10-01 17:43:34 +0400</date><id>6f211e0949e3a26ab55107153b207b2ad555850d</id><msg>Make detail screens scrollable, adjust padding</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><commitId>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</commitId><timestamp>1790927239000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add show more/show less option to AlternativeLangLinks.kt
</comment><date>2026-10-02 11:47:19 +0400</date><id>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</id><msg>Add show more/show less option to AlternativeLangLinks.kt</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>c8213a6965b8081aeb8b10af77f59881d16281b9</commitId><timestamp>1790927623000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-10-02 11:53:43 +0400</date><id>c8213a6965b8081aeb8b10af77f59881d16281b9</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></lastStableBuild><lastSuccessfulBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.model.Cause$UserIdCause'><shortDescription>Started by user Mike Dawson</shortDescription><userId>mike</userId><userName>Mike Dawson</userName></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>54</buildNumber><marked><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain><refsremotesorigindev-xapi-ipc _class='hudson.plugins.git.util.Build'><buildNumber>9</buildNumber><marked><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></marked><revision><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><branch><SHA1>35548db75de85c0441a83620284c3f99155699c1</SHA1><name>refs/remotes/origin/dev-xapi-ipc</name></branch></revision></refsremotesorigindev-xapi-ipc></buildsByBranchName><lastBuiltRevision><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><branch><SHA1>c8213a6965b8081aeb8b10af77f59881d16281b9</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UstadMobile/Respect.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>respect-cli-1.0.41.zip</displayPath><fileName>respect-cli-1.0.41.zip</fileName><relativePath>respect-cli/build/distributions/respect-cli-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-1.0.41.zip</displayPath><fileName>respect-server-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-1.0.41.zip</relativePath></artifact><artifact><displayPath>respect-server-shadow-1.0.41.zip</displayPath><fileName>respect-server-shadow-1.0.41.zip</fileName><relativePath>respect-server/build/distributions/respect-server-shadow-1.0.41.zip</relativePath></artifact><building>false</building><displayName>#54</displayName><duration>143718</duration><estimatedDuration>154744</estimatedDuration><fullDisplayName>RESPECT-Primary-MavenPublish #54</fullDisplayName><id>54</id><inProgress>false</inProgress><keepLog>false</keepLog><number>54</number><queueId>273</queueId><result>SUCCESS</result><timestamp>1790932390799</timestamp><url>https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/54/</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-app-compose/src/commonMain/kotlin/world/respect/app/app/App.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/apps/launcher/AppLauncherViewModel.kt</file></path><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-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/playlists/mapping/list/PlaylistListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.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>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/settings/SettingsViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.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>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/curriculum/mapping/list/CurriculumMappingListScreen.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>add</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/navigation/AppRoutes.kt</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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><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></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>.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/lesson002.html</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/subflows/admin_add_app_and_teacher.yaml</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.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/lesson002.json</file></path><path><editType>add</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_app.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/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/video.mp4</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/subflows/school_admin_login_flow.yaml</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/lesson002.html</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>delete</editType><file>.maestro/flows/002_browse_lessons_test.yaml</file></path><path><editType>add</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/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-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-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-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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/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><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/learningunit/list/LearningUnitListScreen.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>add</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/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</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-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/playlists/mapping/share/PlaylistShareScreen.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/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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/playlists/mapping/share/PlaylistShareViewModel.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></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-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/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/list/PlaylistListScreen.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/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>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/002_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/001_002_add_user_direct_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/002_user_add_apps_playlists_bookmarks_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/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_002_add_user_direct_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/001_005_add_school_self_registration_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/playlists/mapping/edit/PlaylistEditViewModel.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/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-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/commonMain/kotlin/world/respect/app/app/App.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/playlists/mapping/edit/PlaylistEditViewModel.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/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-lib-shared/src/commonMain/composeResources/values/strings.xml</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-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-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>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>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-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><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-lib-shared/src/commonMain/composeResources/values/strings.xml</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/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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</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-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>.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><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-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>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><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/viewmodel/apps/launcher/AppLauncherViewModel.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/apps/enterlink/EnterLinkViewModel.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/share/PlaylistShareViewModel.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><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/apps/launcher/AppLauncherViewModel.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-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/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>.maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml</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>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/view/learningunit/list/LearningUnitListScreen.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/learningunit/list/LearningUnitListViewModel.kt</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>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>.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>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>.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><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/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/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/playlists/mapping/list/PlaylistListViewModel.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-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/learningunit/list/LearningUnitListViewModel.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-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/domain/account/username/GetActiveUsernameUseCase.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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/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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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/kotlin/world/respect/shared/navigation/AppRoutes.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/composeResources/values/strings.xml</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/mapping/edit/Externallinkeditviewmodel.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/cover.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html</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>add</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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/domain/externallink/ExtractWebPageMetadataUseCase.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/Externallinkeditviewmodel.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/androidMain/kotlin/world/respect/AppKoinModule.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-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png</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>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/lesson001.html</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.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/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</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><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.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/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.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>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/learningunit/list/LearningUnitListScreen.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></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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.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><path><editType>add</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-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.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>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-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.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-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/daos/OpdsFeedEntityDao.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/apps/enterlink/EnterLinkViewModel.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-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.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-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><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/list/PlaylistListScreen.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</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/playlists/mapping/list/PlaylistListViewModel.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-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/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/list/PlaylistListScreen.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></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/playlists/mapping/list/PlaylistListViewModel.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-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/share/PlaylistShareViewModel.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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</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><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.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-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/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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml</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>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/mapping/edit/PlaylistEditViewModel.kt</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>.maestro/flows/subflows/admin_add_app.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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/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/lesson002/lesson002.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.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>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.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/examples/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4</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/grade1.json</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/subflows/admin_add_app.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/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-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/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></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-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/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/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></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/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.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/apps/enterlink/EnterLinkViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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><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/viewmodel/apps/launcher/AppLauncherViewModel.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-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>edit</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt</file></path><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/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></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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>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>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.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>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>add</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/mapping/edit/PlaylistEditScreen.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>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>add</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/playlists/mapping/share/PlaylistShareScreen.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>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-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/home/HomeScreen.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>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>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/share/PlaylistShareViewModel.kt</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/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>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-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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.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>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>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/home/HomeScreen.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>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-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/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>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/playlists/collections/share/PlaylistShareScreen.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/playlists/collections/edit/PlaylistEditViewModel.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>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/apps/detail/AppsDetailViewModel.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/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>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-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/detail/AppsDetailViewModel.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-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/list/PlaylistListViewModel.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/collections/detail/PlaylistDetailViewModel.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/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></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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</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/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</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_user_add_apps_playlists_bookmarks_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_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><path><editType>delete</editType><file>.maestro/flows/002_001_browse_lessons_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_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/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/001_001_invite_users_using_qr_code_or_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/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_class_with_members.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_new_teacher_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/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></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>.maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_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><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><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-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></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/learningunit/list/LearningUnitListViewModel.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>.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/edit/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.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/assignment/edit/AssignmentEditViewModel.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/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-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/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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/assignment/edit/AssignmentEditViewModel.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/learningunit/detail/LearningUnitDetailViewModel.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/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/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.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/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-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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><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/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>add</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/util/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/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/apps/detail/AppsDetailViewModel.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/learningunit/editfeed/PlaylistEditViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.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/viewmodel/apps/launcher/AppLauncherViewModel.kt</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/collections/edit/PlaylistEditScreen.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>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/collections/edit/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>app-android/src/main/kotlin/world/respect/AppKoinModule.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.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/viewmodel/assignment/edit/AssignmentEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.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>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/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</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/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.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/playlists/collections/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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.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/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>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/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt</file></path><path><editType>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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-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/OpdsFeedDetailViewModel.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-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/playlists/collections/edit/PlaylistEditScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.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/OpdsFeedEditNavigationItemRow.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/OpdsFeedEditPublicationItemRow.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.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-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/editfeed/OpdsFeedEditAddItemBottomSheet.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/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/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><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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.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-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.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-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/learningunit/OpdsPickType.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/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.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>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/ext/OpdsFeedExt.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-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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.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-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/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><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/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-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/bookmark/BookmarkListViewModel.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/apps/launcher/AppLauncherViewModel.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/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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt</file></path><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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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-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-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.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/learningunit/list/OpdsFeedListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><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/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/editfeed/OpdsFeedEditAddItemBottomSheet.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-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/learningunit/list/OpdsFeedHeader.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.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>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/OpdsFeedEditAddItemBottomSheet.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>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.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/editfeed/OpdsFeedEditAddItemBottomSheet.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>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.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-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.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>add</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.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>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.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>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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.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>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-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.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>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-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/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.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>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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.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/opdscatalog/detail/LearningUnitDetailScreen.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.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-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.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-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.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>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.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-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.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>edit</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.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>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/viewmodel/apps/detail/AppsDetailViewModel.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt</file></path><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/OpdsFeedListItem.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>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.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-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.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>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-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/assignment/edit/AssignmentEditViewModel.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.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/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.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>add</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.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>edit</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/bookmark/BookmarkListViewModel.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.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>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.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-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/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.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/feededit/OpdsFeedGroupEditItem.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/opdsfeededit/OpdsFeedEditGroupMenuItemButton.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/playlists/collections/externallink/ExternalLinkEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.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-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/catalog/feeddetail/OpdsFeedDetailScreen.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.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>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/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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.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/feeddetail/OpdsFeedDetailHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.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>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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/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>delete</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-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.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>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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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>delete</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/opdsfeeddetail/OpdsFeedDetailHeader.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.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-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.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>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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.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-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.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/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.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/opdsfeedlist/OpdsFeedListViewModel.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/catalog/opdsfeeddetail/OpdsFeedDetailScreen.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-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.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>README_ADD_YOUR_APP.md</affectedPath><commitId>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</commitId><timestamp>1788338743000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md
</comment><date>2026-09-02 12:45:43 +0400</date><id>8a60987a5b388511521bf52cb9fbf3ed29bd89fa</id><msg>Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md</msg><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>abb85e6dbd78321176aca3bf9c5249d16722d1a8</commitId><timestamp>1788547140000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for main project and respect-lib-shared.
</comment><date>2026-09-04 22:39:00 +0400</date><id>abb85e6dbd78321176aca3bf9c5249d16722d1a8</id><msg>Update AGENTS.md for main project and respect-lib-shared.</msg><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>add</editType><file>respect-lib-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><commitId>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</commitId><timestamp>1788601024000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md for respect-datalayer and respect-datalayer-db.
</comment><date>2026-09-05 13:37:04 +0400</date><id>a0a4dd3ac37833343d14aa0112dd5e3e971d5b07</id><msg>Update AGENTS.md for respect-datalayer and respect-datalayer-db.</msg><path><editType>edit</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><commitId>dc559585e29f8e13215111b3b25763535378dcb9</commitId><timestamp>1788625143000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:19:03 +0400</date><id>dc559585e29f8e13215111b3b25763535378dcb9</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>add</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><commitId>4205e63579b8bbee151c447a65f486c1661e0dd7</commitId><timestamp>1788625374000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of Activity Profile document storage using local database.
</comment><date>2026-09-05 20:22:54 +0400</date><id>4205e63579b8bbee151c447a65f486c1661e0dd7</id><msg>Initial implementation of Activity Profile document storage using local database.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>577aee82bf7fedf9f84be8febb5b9d163a125af4</commitId><timestamp>1788626077000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Rename DocumentParams and MultiDocParams.
</comment><date>2026-09-05 20:34:37 +0400</date><id>577aee82bf7fedf9f84be8febb5b9d163a125af4</id><msg>Rename DocumentParams and MultiDocParams.</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>add</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><commitId>45573cfef56405f2586ad4835917c3ff87571c4d</commitId><timestamp>1788627046000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt
</comment><date>2026-09-05 20:50:46 +0400</date><id>45573cfef56405f2586ad4835917c3ff87571c4d</id><msg>Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt</msg><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><commitId>251e4f854a3f454a080e2d8fbcf181948b981229</commitId><timestamp>1788685088000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add xAPI Activity Profile route
</comment><date>2026-09-06 12:58:08 +0400</date><id>251e4f854a3f454a080e2d8fbcf181948b981229</id><msg>Add xAPI Activity Profile route</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><commitId>87e5948c6a605bf31d88772a68c3605305888583</commitId><timestamp>1788687103000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AGENTS.md guidance for datalayer-db and datalayer-http.

Rename http resource client suffix to HttpClient for clarity.
</comment><date>2026-09-06 13:31:43 +0400</date><id>87e5948c6a605bf31d88772a68c3605305888583</id><msg>Update AGENTS.md guidance for datalayer-db and datalayer-http.</msg><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><commitId>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</commitId><timestamp>1788714465000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiActivityProfileResourceHttpClient implementation.
</comment><date>2026-09-06 21:07:45 +0400</date><id>6cfea1d7f26a34ba1984f5d39149bf196666e9c2</id><msg>Add XapiActivityProfileResourceHttpClient implementation.</msg><path><editType>edit</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>add</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.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>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-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><commitId>43a6e66b210e450437282cd6e416f17d7cb1ad73</commitId><timestamp>1788853155000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Work in progress: add guidance on document APIs synchronizing deletions.
</comment><date>2026-09-08 11:39:15 +0400</date><id>43a6e66b210e450437282cd6e416f17d7cb1ad73</id><msg>Work in progress: add guidance on document APIs synchronizing deletions.</msg><path><editType>edit</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>edit</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</affectedPath><affectedPath>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-core/README_XAPI_OPDS.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASS_RECIPE.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>respect-lib-xapi-core/.gitignore</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/model/XapiStatementResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/README.md</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-server/.gitignore</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/consumer-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/proguard-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-core/README_EXTENSION_PUBLICATION.md</affectedPath><affectedPath>lib-xapi-core/README_APPLISTING_RECIPE.md</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</affectedPath><affectedPath>lib-xapi-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/.gitignore</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</affectedPath><affectedPath>lib-xapi-core/.gitignore</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/.gitignore</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</affectedPath><affectedPath>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><affectedPath>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</affectedPath><affectedPath>respect-lib-xapi-ipc-shared/proguard-rules.pro</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/consumer-rules.pro</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</affectedPath><affectedPath>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</affectedPath><commitId>c36bb3577bad1ef977ec836354220b2ba9d22dfc</commitId><timestamp>1788853793000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update xapi module package names to follow new convention - just lib.
</comment><date>2026-09-08 11:49:53 +0400</date><id>c36bb3577bad1ef977ec836354220b2ba9d22dfc</id><msg>Update xapi module package names to follow new convention - just lib.</msg><path><editType>delete</editType><file>respect-lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_OPDS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>add</editType><file>lib-xapi-core/README_CLASSGROUPS_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/consumer-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_APPLISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/proguard-rules.pro</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-client/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_CLASS_RECIPE.md</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/.gitignore</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>delete</editType><file>respect-lib-xapi-ipc-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>lib-xapi-test/README.md</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-core/README.md</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/.gitignore</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>lib-xapi-test/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><commitId>4b8356ac8edccff843d686ad757ccf47029c9b53</commitId><timestamp>1788859439000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi statement resource tests into lib-xapi-test
</comment><date>2026-09-08 13:23:59 +0400</date><id>4b8356ac8edccff843d686ad757ccf47029c9b53</id><msg>Refactor xapi statement resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>lib-xapi-core/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-test/README.md</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/.gitignore</file></path><path><editType>edit</editType><file>build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>8f13aef35fa76a8a389d47f7aae91e610e324e6e</commitId><timestamp>1788962068000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.

Fix PinPublicationPrepareUseCase to avoid attempting to download an intent url.
</comment><date>2026-09-09 17:54:28 +0400</date><id>8f13aef35fa76a8a389d47f7aae91e610e324e6e</id><msg>Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.</msg><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>edit</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.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-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>app-android/src/main/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/resources/directories/default.properties</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>56e0677bd714bc6e10e3dede68d664ca17970d21</commitId><timestamp>1788972022000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update AndroidManifest.xml to include new testing server url.
Move directories/default.properties data into commonMain
Update Login screen to show server url and location.
Bump version.
</comment><date>2026-09-09 20:40:22 +0400</date><id>56e0677bd714bc6e10e3dede68d664ca17970d21</id><msg>Update AndroidManifest.xml to include new testing server url.</msg><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>edit</editType><file>app-android/src/main/AndroidManifest.xml</file></path><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.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/manageuser/login/LoginViewModel.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><commitId>15024741e858b809e2c0f00024094886c11e4bb7</commitId><timestamp>1788975563000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version number
</comment><date>2026-09-09 21:39:23 +0400</date><id>15024741e858b809e2c0f00024094886c11e4bb7</id><msg>Bump version number</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/build.gradle.kts</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-util/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/openapi/openapi.yaml</affectedPath><affectedPath>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/desktopMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><commitId>82241844fac122cf490228c6cdd1b4c4f8c8d97b</commitId><timestamp>1789027836000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.

Remove most usage of deprecated by getting.
</comment><date>2026-09-10 12:10:36 +0400</date><id>82241844fac122cf490228c6cdd1b4c4f8c8d97b</id><msg>Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.</msg><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/openapi/openapi.yaml</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-test-resources/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-util/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>edit</editType><file>respect-datalayer-http/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><commitId>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</commitId><timestamp>1789027852000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add 9.json database schema.
</comment><date>2026-09-10 12:10:52 +0400</date><id>13d5b5d8793a8b8513c3c73f7ab206c23964f6cf</id><msg>Add 9.json database schema.</msg><path><editType>add</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>settings.gradle.kts</affectedPath><commitId>243a1fbac1da00f207bb1cd12bbb24101f206311</commitId><timestamp>1789028840000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update to AGP9.4
</comment><date>2026-09-10 12:27:20 +0400</date><id>243a1fbac1da00f207bb1cd12bbb24101f206311</id><msg>Update to AGP9.4</msg><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>3e13e3586a326fede7494c10f15d257af2d99d74</commitId><timestamp>1789039879000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.
</comment><date>2026-09-10 15:31:19 +0400</date><id>3e13e3586a326fede7494c10f15d257af2d99d74</id><msg>Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.</msg><path><editType>edit</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><commitId>a0cda72277aa552c22f36d36d56fc8d6f512b377</commitId><timestamp>1789041071000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix display of duration for StatementDetail.
</comment><date>2026-09-10 15:51:11 +0400</date><id>a0cda72277aa552c22f36d36d56fc8d6f512b377</id><msg>Fix display of duration for StatementDetail.</msg><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>bac981ed8f6a77591d1587b958844d48efc761cf</commitId><timestamp>1789041138000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version.
</comment><date>2026-09-10 15:52:18 +0400</date><id>bac981ed8f6a77591d1587b958844d48efc761cf</id><msg>Bump version.</msg><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>edit</editType><file>gradle.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/proguard-rules.pro</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>gradle.properties</affectedPath><commitId>79deada44cd8d64b20be58b99fec2fb09bb003e2</commitId><timestamp>1789044795000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.

See See https://github.com/googlesamples/mlkit/issues/1018
</comment><date>2026-09-10 16:53:15 +0400</date><id>79deada44cd8d64b20be58b99fec2fb09bb003e2</id><msg>Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.</msg><path><editType>edit</editType><file>app-android/proguard-rules.pro</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</commitId><timestamp>1789050579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update issue template label for app catalog request
</comment><date>2026-09-10 18:29:39 +0400</date><id>ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6</id><msg>Update issue template label for app catalog request</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/AGENTS.md</affectedPath><affectedPath>lib-xapi-test/AGENTS.md</affectedPath><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/ext/JsonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><commitId>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</commitId><timestamp>1789125475000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor xapi activity profile resource tests into lib-xapi-test
</comment><date>2026-09-11 15:17:55 +0400</date><id>e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52</id><msg>Refactor xapi activity profile resource tests into lib-xapi-test</msg><path><editType>edit</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-xapi-core/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>respect-datalayer-http/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>respect-lib-test/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>respect-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>respect-lib-dataloadstate/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/README.md</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-http-server/.gitignore</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</affectedPath><affectedPath>lib-xapi-core/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>settings.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>respect-datalayer/.gitignore</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>respect-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>respect-datalayer-http/AGENTS.md</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>respect-datalayer/README.md</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>respect-datalayer/AGENTS.md</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>respect-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>respect-datalayer-repository/README.md</affectedPath><affectedPath>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><affectedPath>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><commitId>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</commitId><timestamp>1789138166000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-11 18:49:26 +0400</date><id>220452c3694c46f98aa1ba4efcbeadb3db84ebbd</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>edit</editType><file>respect-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/README.md</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>edit</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>add</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>delete</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>edit</editType><file>respect-lib-test/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/README.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>edit</editType><file>settings.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/README.md</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.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>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>delete</editType><file>respect-datalayer/.gitignore</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>delete</editType><file>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>delete</editType><file>respect-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>delete</editType><file>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/log/respect-server.log</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</affectedPath><affectedPath>lib-datalayer/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</affectedPath><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.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/composite/xapi/SessionTimeAndProgressInfo.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.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/entities/PersonPasswordEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.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/PersonDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</affectedPath><affectedPath>lib-dataloadstate/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.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/XapiGroupMemberActorJoinDao.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/resources/logback.xml</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</affectedPath><affectedPath>lib-datalayer/.gitignore</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</affectedPath><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/OpdsParentType.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</affectedPath><affectedPath>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</affectedPath><commitId>1fdee8fd227baf98d3e35e3ba67052039ade1c06</commitId><timestamp>1789231861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.
</comment><date>2026-09-12 20:51:01 +0400</date><id>1fdee8fd227baf98d3e35e3ba67052039ade1c06</id><msg>Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.</msg><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt</file></path><path><editType>add</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-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/README.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/logback.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt</file></path><path><editType>add</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>add</editType><file>lib-datalayer/.gitignore</file></path><path><editType>add</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt</file></path><path><editType>add</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/.gitignore</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/README.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</file></path><path><editType>add</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-http-client/log/respect-server.log</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json</file></path><path><editType>add</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt</file></path><path><editType>add</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/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/adapters/PullSyncStatusAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/build.gradle.kts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</commitId><timestamp>1789234052000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.
</comment><date>2026-09-12 21:27:32 +0400</date><id>a3f4579af9bd67e6a157b1002b3e0b7790f6fb81</id><msg>Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.</msg><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt</file></path><path><editType>delete</editType><file>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>edit</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>edit</editType><file>respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/log/respect-server.log</affectedPath><commitId>a4be79ea8447a78e29d16546cda7a1005fa910da</commitId><timestamp>1789234392000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove test server log.
</comment><date>2026-09-12 21:33:12 +0400</date><id>a4be79ea8447a78e29d16546cda7a1005fa910da</id><msg>Remove test server log.</msg><path><editType>delete</editType><file>lib-datalayer-http-client/log/respect-server.log</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><commitId>32f939cfb5f2d87aa51b99430ae7022ac672402f</commitId><timestamp>1789235528000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:52:08 +0400</date><id>32f939cfb5f2d87aa51b99430ae7022ac672402f</id><msg>Fix compilation/build</msg><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path><path><editType>delete</editType><file>respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</affectedPath><affectedPath>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</affectedPath><commitId>d562f7340895f9011ec5a6583f99ef71189ba4ce</commitId><timestamp>1789235780000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix compilation/build
</comment><date>2026-09-12 21:56:20 +0400</date><id>d562f7340895f9011ec5a6583f99ef71189ba4ce</id><msg>Fix compilation/build</msg><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json</file></path><path><editType>add</editType><file>lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.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-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-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><commitId>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</commitId><timestamp>1789303701000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes

Refactor to using a shared AbstractXapiActivityProfileTest that tests both the database and http client/server implementation.
</comment><date>2026-09-13 16:48:21 +0400</date><id>0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2</id><msg>Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes</msg><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</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-http-client/AGENTS.md</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>fa76edcd0b7c47438331555e261a2542817047a5</commitId><timestamp>1789303752000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to ignore logs generated by unit tests running in modules.
</comment><date>2026-09-13 16:49:12 +0400</date><id>fa76edcd0b7c47438331555e261a2542817047a5</id><msg>Update gitignore to ignore logs generated by unit tests running in modules.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.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/AbstractXapiStatementResourceTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><commitId>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</commitId><timestamp>1789314120000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add embedded data source server helper and refactor xAPI HTTP client tests
</comment><date>2026-09-13 19:42:00 +0400</date><id>d454d5fe47aad4d78094d63af5e0f11e4d5ebb62</id><msg>Add embedded data source server helper and refactor xAPI HTTP client tests</msg><path><editType>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><commitId>05b241602e4a58a0ccdc1e00ac60e42f58996499</commitId><timestamp>1789314234000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove extra time logging in WithEmbeddedDataSourceServer.kt
</comment><date>2026-09-13 19:43:54 +0400</date><id>05b241602e4a58a0ccdc1e00ac60e42f58996499</id><msg>Remove extra time logging in WithEmbeddedDataSourceServer.kt</msg><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</affectedPath><commitId>258efbc61c11e29cd50493ce504f1bf34fe6d55c</commitId><timestamp>1789382805000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Clarify app manifest URL requirements in issue template

Updated the template to clarify the requirement for the launchable app manifest URL and corrected the reference to the integration guide.
</comment><date>2026-09-14 14:46:45 +0400</date><id>258efbc61c11e29cd50493ce504f1bf34fe6d55c</id><msg>Clarify app manifest URL requirements in issue template</msg><path><editType>edit</editType><file>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</affectedPath><affectedPath>lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt</affectedPath><commitId>e424bad5d6cc8e45475203496f0e3a00e3757134</commitId><timestamp>1789464579000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add conditional if-modified-since GET support for xAPI activity profile resources
</comment><date>2026-09-15 13:29:39 +0400</date><id>e424bad5d6cc8e45475203496f0e3a00e3757134</id><msg>Add conditional if-modified-since GET support for xAPI activity profile resources</msg><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.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/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt</file></path><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.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/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt</affectedPath><commitId>c1c136ac127a8991dc153daf8689c73e7f199b2a</commitId><timestamp>1789476714000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Support ETag validation and SHA-1 caching for xAPI activity profile documents.
</comment><date>2026-09-15 16:51:54 +0400</date><id>c1c136ac127a8991dc153daf8689c73e7f199b2a</id><msg>Support ETag validation and SHA-1 caching for xAPI activity profile documents.</msg><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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt</file></path><path><editType>add</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-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</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-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/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.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/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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/XapiActivitiesResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.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/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>afab3fd1f76c527cfce39689a35b0a7e57c91405</commitId><timestamp>1789557692000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core
</comment><date>2026-09-16 15:21:32 +0400</date><id>afab3fd1f76c527cfce39689a35b0a7e57c91405</id><msg>Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core</msg><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.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/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/XapiResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt</file></path><path><editType>add</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt</file></path><path><editType>add</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/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</affectedPath><commitId>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</commitId><timestamp>1789575164000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Implement XapiRemoteWriteQueue database storage and repository integration
</comment><date>2026-09-16 20:12:44 +0400</date><id>d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4</id><msg>Implement XapiRemoteWriteQueue database storage and repository integration</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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.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>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt</file></path><path><editType>edit</editType><file>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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/SchoolTypeConverters.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.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-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><commitId>2d04d961dc60a83d4dfc89c007f2c065af919f93</commitId><timestamp>1789577713000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients
</comment><date>2026-09-16 20:55:13 +0400</date><id>2d04d961dc60a83d4dfc89c007f2c065af919f93</id><msg>Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients</msg><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><commitId>660d9c447d17a594d894a0ae82299feb2c23cbf7</commitId><timestamp>1789579142000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial working implementation of XapiActivityProfileResourceRepository.
</comment><date>2026-09-16 21:19:02 +0400</date><id>660d9c447d17a594d894a0ae82299feb2c23cbf7</id><msg>Initial working implementation of XapiActivityProfileResourceRepository.</msg><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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</affectedPath><affectedPath>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</affectedPath><commitId>0260997a7fbac331cc4f6cc797ecbe6425bee694</commitId><timestamp>1789631928000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Android worker and Koin bindings for draining xAPI remote write queue
</comment><date>2026-09-17 11:58:48 +0400</date><id>0260997a7fbac331cc4f6cc797ecbe6425bee694</id><msg>Add Android worker and Koin bindings for draining xAPI remote write queue</msg><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>respect-app-compose/README.md</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>README.md</affectedPath><commitId>c139595ee01b99703afe3d056b9330ddd58d35ce</commitId><timestamp>1789634063000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update readme references that used to point to respect-app-compose to point to app-android.
</comment><date>2026-09-17 12:34:23 +0400</date><id>c139595ee01b99703afe3d056b9330ddd58d35ce</id><msg>Update readme references that used to point to respect-app-compose to point to app-android.</msg><path><editType>edit</editType><file>respect-app-compose/README.md</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><affectedPath>respect-app-compose/doc/run-config-settings.png</affectedPath><affectedPath>respect-app-compose/doc/app-config-dropdown.png</affectedPath><commitId>d7108c8ff014fd19318491a409268e87e8f53357</commitId><timestamp>1789634242000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Move Android Studio screenshots to app-android
</comment><date>2026-09-17 12:37:22 +0400</date><id>d7108c8ff014fd19318491a409268e87e8f53357</id><msg>Move Android Studio screenshots to app-android</msg><path><editType>add</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>add</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/run-config-settings.png</file></path><path><editType>delete</editType><file>respect-app-compose/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</commitId><timestamp>1789635473000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:57:53 +0400</date><id>ef9c679b3c4763267422ff4acb4c9eb6eca06d25</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/doc/run-config-settings.png</affectedPath><affectedPath>app-android/doc/app-config-dropdown.png</affectedPath><commitId>a684966bdd27dc61aed963dc8972d3340a2163cb</commitId><timestamp>1789635567000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update screenshots
</comment><date>2026-09-17 12:59:27 +0400</date><id>a684966bdd27dc61aed963dc8972d3340a2163cb</id><msg>Update screenshots</msg><path><editType>edit</editType><file>app-android/doc/app-config-dropdown.png</file></path><path><editType>edit</editType><file>app-android/doc/run-config-settings.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</affectedPath><affectedPath>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</affectedPath><commitId>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</commitId><timestamp>1789636894000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add profile id doc for storing and retrieving an OPDS collection.
Add recipe for pinning collections.
</comment><date>2026-09-17 13:21:34 +0400</date><id>b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c</id><msg>Add profile id doc for storing and retrieving an OPDS collection.</msg><path><editType>add</editType><file>lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md</file></path><path><editType>add</editType><file>lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md</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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>respect-lib-cache/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>respect-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</affectedPath><affectedPath>lib-opds-model/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>lib-cache/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>lib-shared/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/well-known/assetlinks.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>respect-credentials/proguard-rules.pro</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.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/ManagerServerCLI.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-credentials/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>lib-credentials/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</affectedPath><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>app-server/well-known/assetlinks.json</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</affectedPath><affectedPath>lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/app.html</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/AGENTS.md</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>app-server/well-known/terms.html</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>app-android/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>respect-cli/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>lib-dataloadstate-ktor-server/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</affectedPath><affectedPath>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/asset_statements.xml</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>respect-lib-cache/README.md</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</affectedPath><affectedPath>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</affectedPath><affectedPath>app-cli/.gitignore</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</affectedPath><affectedPath>lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-dataloadstate/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</affectedPath><affectedPath>lib-datalayer-db/README.md</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-shared-se/README.md</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>app-server/src/main/resources/application.conf</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>app-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>app-server/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-serializers/README.md</affectedPath><affectedPath>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.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/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.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/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>respect-app-compose/build.gradle.kts</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.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/domain/storage/GetOfflineStorageSettingUseCase.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-datalayer/AGENTS.md</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>respect-credentials/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</affectedPath><affectedPath>respect-server/well-known/terms.html</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>lib-opds-model/README.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-iostreams/README.md</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/index.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</affectedPath><affectedPath>lib-cache/.gitignore</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/testfile2.png</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/themes.xml</affectedPath><affectedPath>respect-app-compose/src/jvmMain/resources/sample-feed.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</affectedPath><affectedPath>lib-credentials/src/main/AndroidManifest.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/xml/file_paths.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</affectedPath><affectedPath>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>lib-ihttp-okhttp/consumer-rules.pro</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/testfile1.png</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</affectedPath><affectedPath>lib-datalayer-http-client/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/about-credits-common.html</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</affectedPath><affectedPath>lib-shared-se/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/invalid-catalog.json</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</affectedPath><affectedPath>lib-ihttp-core/.gitignore</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/fr-FR.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>respect-lib-opds-model/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</affectedPath><affectedPath>respect-lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</affectedPath><affectedPath>lib-primarykeygen/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/digital_library.png</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-server/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/credits.txt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</affectedPath><affectedPath>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</affectedPath><affectedPath>respect-app-compose/README.md</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/clazz/edit/ClazzEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/index.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/.gitignore</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</affectedPath><affectedPath>lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</affectedPath><affectedPath>app-server/README.md</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</affectedPath><affectedPath>respect-lib-opds-model/README_LAUNCHABLE_APP.md</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-serializers/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>respect-lib-shared/build.gradle.kts</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</affectedPath><affectedPath>app-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-datalayer-http-client/build.gradle.kts</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-datalayer-db/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</affectedPath><affectedPath>lib-ihttp-okhttp/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/xapi_module.js</affectedPath><affectedPath>lib-appui-compose/README.md</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/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/AndroidManifest.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/locales/en-US.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</affectedPath><affectedPath>lib-datalayer/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-datalayer-repository/AGENTS.md</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt</affectedPath><affectedPath>respect-server/src/dist/systemd/respect-server.service</affectedPath><affectedPath>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-lib-ihttp-core/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</affectedPath><affectedPath>respect-lib-shared/AGENTS.md</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>ci-run-test-server.sh</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.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/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/app_icon.png</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/base.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</affectedPath><affectedPath>lib-ihttp-iostreams/README.md</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</affectedPath><affectedPath>respect-server/src/main/resources/logback.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</affectedPath><affectedPath>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-night/themes.xml</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/tags.xml</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/assignments.png</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>lib-ihttp-iostreams/.gitignore</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-iostreams/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</affectedPath><affectedPath>app-server/.gitignore</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</affectedPath><affectedPath>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/assets/aaguid.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</affectedPath><affectedPath>respect-server/.gitignore</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-ihttp-okhttp/build.gradle.kts</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/copycode.png</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/chimple.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</affectedPath><affectedPath>gradle.properties</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</affectedPath><affectedPath>respect-lib-shared-se/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</affectedPath><affectedPath>app-cli/build.gradle.kts</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</affectedPath><affectedPath>lib-http-ipc-server/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</affectedPath><affectedPath>app-server/src/main/resources/logback.xml</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</affectedPath><affectedPath>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</affectedPath><affectedPath>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/books.png</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</affectedPath><affectedPath>respect-server/README.md</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</affectedPath><affectedPath>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</affectedPath><affectedPath>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</affectedPath><affectedPath>lib-appui-compose/build.gradle.kts</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/manifestlist.json</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</affectedPath><affectedPath>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</affectedPath><affectedPath>respect-cli/.gitignore</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/raw/license_label_json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</affectedPath><affectedPath>lib-ihttp-okhttp/proguard-rules.pro</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</affectedPath><affectedPath>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</affectedPath><affectedPath>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</affectedPath><affectedPath>app-server/src/main/resources/demoapp/grade.jpg</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</affectedPath><affectedPath>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</affectedPath><affectedPath>lib-shared/src/commonTest/resources/opds-io-home.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</affectedPath><affectedPath>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>lib-datalayer/build.gradle.kts</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</affectedPath><affectedPath>respect-server/src/main/resources/demoapp/index.html</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</affectedPath><affectedPath>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</affectedPath><affectedPath>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</affectedPath><affectedPath>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</affectedPath><affectedPath>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</affectedPath><affectedPath>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</affectedPath><affectedPath>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</affectedPath><affectedPath>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</affectedPath><affectedPath>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</affectedPath><affectedPath>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</affectedPath><affectedPath>respect-credentials/build.gradle.kts</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</affectedPath><affectedPath>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</affectedPath><affectedPath>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</affectedPath><affectedPath>respect-lib-cache/build.gradle.kts</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</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/person/list/PersonListViewModel.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</affectedPath><affectedPath>lib-appui-compose/src/androidMain/res/values/strings.xml</affectedPath><affectedPath>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</affectedPath><affectedPath>lib-shared/src/commonMain/resources/directories/default.properties</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</affectedPath><affectedPath>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</affectedPath><affectedPath>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</affectedPath><affectedPath>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</affectedPath><affectedPath>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</affectedPath><affectedPath>app-android/README.md</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</affectedPath><affectedPath>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</affectedPath><affectedPath>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</affectedPath><affectedPath>lib-serializers/README.md</affectedPath><affectedPath>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</affectedPath><affectedPath>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</affectedPath><commitId>dbe60749389bc418284e0690884eee431ca51bd9</commitId><timestamp>1789646998000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update module naming convention.
</comment><date>2026-09-17 16:09:58 +0400</date><id>dbe60749389bc418284e0690884eee431ca51bd9</id><msg>Update module naming convention.</msg><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>edit</editType><file>app-android/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/books.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared-se/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/index.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/AGENTS.md</file></path><path><editType>delete</editType><file>respect-credentials/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/manifestlist.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.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>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/README.md</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README.md</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.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><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>delete</editType><file>respect-app-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>edit</editType><file>app-android/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/build.gradle.kts</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>edit</editType><file>lib-datalayer-db/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/works_offline.png</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt</file></path><path><editType>delete</editType><file>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/proguard-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>add</editType><file>app-server/src/main/resources/logback.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonTest/resources/opds-io-home.json</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.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>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>add</editType><file>lib-opds-model/README_LAUNCHABLE_APP.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/main/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.webp</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/menu/menu_webview.xml</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt</file></path><path><editType>add</editType><file>lib-shared-se/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/lang_names.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt</file></path><path><editType>delete</editType><file>respect-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>add</editType><file>app-server/well-known/terms.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/resources/about-credits-common.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/books.png</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json</file></path><path><editType>add</editType><file>lib-appui-compose/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/resources/sample-feed.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml</file></path><path><editType>delete</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/util/DurationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared-se/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/.gitignore</file></path><path><editType>add</editType><file>lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/file_paths.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/AndroidManifest.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/strings.xml</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>app-cli/src/main/java/world/respect/clitools/RespectCLI.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/README.md</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>app-cli/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-server/well-known/terms.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/index.json</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>add</editType><file>lib-credentials/proguard-rules.pro</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/build.gradle.kts</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.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>delete</editType><file>respect-lib-shared/AGENTS.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>add</editType><file>lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/.gitignore</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>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/childrens-literature.epub</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-app-compose/README.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt</file></path><path><editType>add</editType><file>lib-credentials/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml</file></path><path><editType>edit</editType><file>lib-datalayer/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.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>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-ihttp-core/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/data_reporting.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/grade.jpg</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.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>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/assets/aaguid.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>add</editType><file>lib-ihttp-iostreams/.gitignore</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>delete</editType><file>respect-cli/.gitignore</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.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/domain/school/LaunchCustomTabUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico</file></path><path><editType>delete</editType><file>respect-server/.gitignore</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.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>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/tags.xml</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/xapi_module.js</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt</file></path><path><editType>add</editType><file>lib-cache/README.md</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/.gitignore</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt</file></path><path><editType>delete</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-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/Lesson</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/main/AndroidManifest.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/Application.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/xml/backup_rules.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/README.md</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/empty.png</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Color.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/resources/directories/default.properties</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/respect_logo.webp</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.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>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt</file></path><path><editType>delete</editType><file>respect-cli/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/README.md</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/digital_library.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/locales/en-US.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/locales/fr-FR.json</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/copycode.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values/themes.xml</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/app.html</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt</file></path><path><editType>add</editType><file>app-server/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values/asset_statements.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt</file></path><path><editType>edit</editType><file>gradle.properties</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt</file></path><path><editType>edit</editType><file>ci-run-test-server.sh</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path><path><editType>delete</editType><file>respect-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt</file></path><path><editType>add</editType><file>app-server/src/dist/systemd/respect-server.service</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>add</editType><file>lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile1.png</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/app_icon.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/AGENTS.md</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt</file></path><path><editType>delete</editType><file>respect-lib-shared-se/README.md</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/jvmTest/resources/lesson001.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/AGENTS.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-iostreams/build.gradle.kts</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/.gitignore</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>add</editType><file>lib-serializers/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/theme/Theme.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/values-night/themes.xml</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt</file></path><path><editType>edit</editType><file>lib-http-ipc-server/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/application.conf</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>add</editType><file>app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js</file></path><path><editType>delete</editType><file>respect-lib-shared/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt</file></path><path><editType>add</editType><file>app-cli/.gitignore</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt</file></path><path><editType>delete</editType><file>respect-server/README.md</file></path><path><editType>add</editType><file>lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/drawable/assignments.png</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt</file></path><path><editType>add</editType><file>lib-credentials/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt</file></path><path><editType>add</editType><file>lib-cache/.gitignore</file></path><path><editType>add</editType><file>lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt</file></path><path><editType>add</editType><file>lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json</file></path><path><editType>add</editType><file>lib-shared/src/commonTest/resources/invalid-catalog.json</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate-ktor-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/base.json</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/consumer-rules.pro</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt</file></path><path><editType>add</editType><file>lib-ihttp-nanohttpd/build.gradle.kts</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt</file></path><path><editType>add</editType><file>app-server/well-known/assetlinks.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt</file></path><path><editType>add</editType><file>lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt</file></path><path><editType>add</editType><file>app-server/build.gradle.kts</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/credits.txt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/logback.xml</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt</file></path><path><editType>add</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/raw/license_label_json</file></path><path><editType>edit</editType><file>lib-datalayer-repository/build.gradle.kts</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/res/values-v23/themes.xml</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>add</editType><file>lib-appui-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/domain/account/username/UsernameSuggestionUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/jvmTest/resources/testfile2.png</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/chimple.json</file></path><path><editType>delete</editType><file>respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt</file></path><path><editType>add</editType><file>lib-cache/src/jvmTest/resources/publication/lesson001/script.js</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt</file></path><path><editType>edit</editType><file>lib-datalayer/AGENTS.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif</file></path><path><editType>add</editType><file>lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.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>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/index.html</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt</file></path><path><editType>add</editType><file>lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/README.md</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt</file></path><path><editType>delete</editType><file>respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt</file></path><path><editType>add</editType><file>app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt</file></path><path><editType>add</editType><file>lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt</file></path><path><editType>delete</editType><file>respect-server/src/main/resources/demoapp/learning_unit_xapi.js</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt</file></path><path><editType>delete</editType><file>respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt</file></path><path><editType>add</editType><file>lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/application.conf</file></path><path><editType>add</editType><file>lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/.gitignore</file></path><path><editType>delete</editType><file>respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt</file></path><path><editType>add</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt</file></path><path><editType>delete</editType><file>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt</file></path><path><editType>delete</editType><file>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt</file></path><path><editType>delete</editType><file>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt</file></path><path><editType>add</editType><file>app-server/src/main/resources/demoapp/index.html</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/src/dist/systemd/respect-server.service</affectedPath><commitId>78c9a20922e2d10d126600ae9c292ed9624179d2</commitId><timestamp>1789647047000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update respect-server.service template.
</comment><date>2026-09-17 16:10:47 +0400</date><id>78c9a20922e2d10d126600ae9c292ed9624179d2</id><msg>Update respect-server.service template.</msg><path><editType>edit</editType><file>app-server/src/dist/systemd/respect-server.service</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/respect-app.db</affectedPath><affectedPath>respect-server/data/dir-admin.txt</affectedPath><affectedPath>respect-server/data/respect-app.db-shm</affectedPath><affectedPath>respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_</affectedPath><affectedPath>respect-server/data/server.properties</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</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/http___10_40_49_70_8098_/http___10_40_49_70_8098_</file></path><path><editType>delete</editType><file>respect-server/data/server.properties</file></path><path><editType>delete</editType><file>respect-server/data/respect-app.db-wal</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_-shm</file></path><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></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><commitId>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</commitId><timestamp>1789648790000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update gitignore to reflect module renaming and avoid accidental commit of old server data.
</comment><date>2026-09-17 16:39:50 +0400</date><id>f08fc738eef4c41b036ccc7f98df2ad18a42b8d2</id><msg>Update gitignore to reflect module renaming and avoid accidental commit of old server data.</msg><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>composeApp/src/desktopMain/resources/img/spix_logo.png</affectedPath><affectedPath>composeApp/src/desktopMain/resources/img/respect_logo.png</affectedPath><affectedPath>.gitignore</affectedPath><commitId>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</commitId><timestamp>1789648861000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete old composeApp directory.
</comment><date>2026-09-17 16:41:01 +0400</date><id>01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c</id><msg>Remove obsolete old composeApp directory.</msg><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/respect_logo.png</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>delete</editType><file>composeApp/src/desktopMain/resources/img/spix_logo.png</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-server/README.md</affectedPath><affectedPath>AGENTS.md</affectedPath><commitId>5461c3e7ef70a4307f6868bed4093e414b7312ff</commitId><timestamp>1789649231000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Fix links in AGENTS.md and README.md
</comment><date>2026-09-17 16:47:11 +0400</date><id>5461c3e7ef70a4307f6868bed4093e414b7312ff</id><msg>Fix links in AGENTS.md and README.md</msg><path><editType>edit</editType><file>app-server/README.md</file></path><path><editType>edit</editType><file>AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.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/adapters/SchoolAppAdapter.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><commitId>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</commitId><timestamp>1789653548000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete SchoolApp datasource.
</comment><date>2026-09-17 17:59:08 +0400</date><id>c8116d249abc5dd79fbbff973fb1c13cc2645e7e</id><msg>Remove obsolete SchoolApp datasource.</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>delete</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.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>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.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/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.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/daos/SchoolAppEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt</file></path><path><editType>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt</file></path><path><editType>delete</editType><file>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt</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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.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/opdsfeededit/OpdsFeedEditViewModel.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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.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/opds/ext/OpdsFeedEntityExt.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>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt</file></path><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/RespectSchoolDatabase.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.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/entities/OpdsFeedEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.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-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.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>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.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-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/opds/entities/OpdsFeedEntity.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.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-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.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/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.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>delete</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/daos/OpdsFeedEntityDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt</file></path><path><editType>edit</editType><file>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.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>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.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>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt</file></path><path><editType>edit</editType><file>lib-datalayer/build.gradle.kts</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/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/opds/OpdsFeedDataSourceRepository.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/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></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-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/opds/OpdsRespectRepositoryIntegrationTest.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-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.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/ETagAndLastModifiedExt.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/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/flow/RepoFlowTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.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_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/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-pending/001_005_add_school_self_registration_test.yaml</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_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_002_add_user_direct_test.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/001_001_invite_users_using_qr_code_or_link_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows-pending/001_005_add_school_self_registration_test.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_class.yaml</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>.maestro/flows/002_001_browse_lessons_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/001_003_login_using_school_link_test.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/subflows/admin_add_new_student_to_class.yaml</file></path><path><editType>edit</editType><file>.maestro/flows/subflows/admin_add_student.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.maestro/README.md</affectedPath><affectedPath>.maestro/flows/002_001_browse_lessons_test.yaml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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>.maestro/flows/002_001_browse_lessons_test.yaml</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</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-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.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-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.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>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/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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.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/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/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.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>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/RespectSchoolDatabaseMigrations.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/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.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/entities/XapiStateDocumentEntity.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/school/xapi/daos/XapiActivityProfileDocumentDao.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/adapters/XapiStateDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.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/entities/XapiActivityProfileDocumentShaEntity.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.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-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/XapiActivityProfileDocumentEntity.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.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>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/AbstractXapiStateResourceTest.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>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-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.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/resources/XapiResource.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.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><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/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>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.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/XapiStateResourceRepository.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.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/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt</file></path><path><editType>add</editType><file>lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.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/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>add</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.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-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/entities/XapiStateEntity.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-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/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.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>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.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>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>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/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json</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-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.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>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-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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>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/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.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>add</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.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>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.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>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-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.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>add</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.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/local/XapiAgentProfileResourceLocal.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.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>delete</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</affectedPath><affectedPath>lib-ihttp-core/README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</affectedPath><affectedPath>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</affectedPath><affectedPath>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</affectedPath><affectedPath>README.md</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</affectedPath><affectedPath>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</affectedPath><commitId>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</commitId><timestamp>1790178862000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Remove obsolete models and add authentication options to SchoolDirectoryEntry.
</comment><date>2026-09-23 19:54:22 +0400</date><id>ef2dd76eb0fd8e2c2e9658586434f96cd696a39e</id><msg>Remove obsolete models and add authentication options to SchoolDirectoryEntry.</msg><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt</file></path><path><editType>edit</editType><file>README.md</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-ihttp-core/README.md</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt</file></path><path><editType>edit</editType><file>lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt</file></path><path><editType>add</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt</file></path><path><editType>delete</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt</file></path><path><editType>add</editType><file>lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt</file></path><path><editType>delete</editType><file>lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_XAPI_SQL_QUERY.md</affectedPath><commitId>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</commitId><timestamp>1790242625000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.
</comment><date>2026-09-24 13:37:05 +0400</date><id>71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3</id><msg>Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.</msg><path><editType>edit</editType><file>lib-xapi-core/README_XAPI_SQL_QUERY.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/AGENTS.md</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/build.gradle.kts</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><commitId>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</commitId><timestamp>1790324036000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor statement handling into StatementResourceResponder and add tests
</comment><date>2026-09-25 12:13:56 +0400</date><id>6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43</id><msg>Refactor statement handling into StatementResourceResponder and add tests</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/build.gradle.kts</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</affectedPath><commitId>532bc906ffa34ddbb9ef16c2558aa16d147099f8</commitId><timestamp>1790344131000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:48:51 +0400</date><id>532bc906ffa34ddbb9ef16c2558aa16d147099f8</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><commitId>4f49d34ee2e085c1fea6d13bef1db2147de881f7</commitId><timestamp>1790344141000</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 responder in NanoHTTPD
</comment><date>2026-09-25 17:49:01 +0400</date><id>4f49d34ee2e085c1fea6d13bef1db2147de881f7</id><msg>Add xAPI State resource responder in NanoHTTPD</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</affectedPath><commitId>bc9ca414264225b7baae09c6bc4edcfd09082f2b</commitId><timestamp>1790345194000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity and Agent Profile resources to lib-xapi-nanohttpd
</comment><date>2026-09-25 18:06:34 +0400</date><id>bc9ca414264225b7baae09c6bc4edcfd09082f2b</id><msg>Add Activity and Agent Profile resources to lib-xapi-nanohttpd</msg><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt</file></path><path><editType>add</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</affectedPath><affectedPath>app-server/src/main/kotlin/world/respect/server/Application.kt</affectedPath><commitId>a9b542c379201dadc2b83628271fe759d4b22468</commitId><timestamp>1790351054000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.
</comment><date>2026-09-25 19:44:14 +0400</date><id>a9b542c379201dadc2b83628271fe759d4b22468</id><msg>Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt</file></path><path><editType>edit</editType><file>app-server/src/main/kotlin/world/respect/server/Application.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-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.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/XapiAgentProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>README_ADD_YOUR_APP.md</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</affectedPath><affectedPath>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt</affectedPath><affectedPath>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>dc66f8d0fb256ba2e927b12a6399e99a079e8889</commitId><timestamp>1790602139000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 17:28:59 +0400</date><id>dc66f8d0fb256ba2e927b12a6399e99a079e8889</id><msg>Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt</file></path><path><editType>edit</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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt</file></path><path><editType>add</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.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-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.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-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt</file></path><path><editType>edit</editType><file>README_ADD_YOUR_APP.md</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</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-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><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/XapiResourceDb.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><commitId>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</commitId><timestamp>1790604419000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.
</comment><date>2026-09-28 18:06:59 +0400</date><id>efdc6836609e04d67a28ec68ca5fecdcfcc9389c</id><msg>Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.</msg><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-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/README.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>.junie/guidelines.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</affectedPath><affectedPath>lib-datalayer-db/AGENTS.md</affectedPath><commitId>4590826c4dce9753efdd28a083301f5d917c4850</commitId><timestamp>1790611835000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiDocument bundle adapter for IPC
</comment><date>2026-09-28 20:10:35 +0400</date><id>4590826c4dce9753efdd28a083301f5d917c4850</id><msg>Add XapiDocument bundle adapter for IPC</msg><path><editType>add</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/README.md</file></path><path><editType>add</editType><file>.junie/guidelines.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-server/AGENTS.md</affectedPath><affectedPath>lib-xapi-ipc-shared/AGENTS.md</affectedPath><commitId>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</commitId><timestamp>1790664641000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add XapiStatementResource IPC tests and update IPC bundle serialization
</comment><date>2026-09-29 10:50:41 +0400</date><id>bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1</id><msg>Add XapiStatementResource IPC tests and update IPC bundle serialization</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/AGENTS.md</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/AGENTS.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</affectedPath><affectedPath>lib-xapi-ipc-server/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>f6b1de5f635ffc7476de454ea7acd837459a7867</commitId><timestamp>1790671033000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.
</comment><date>2026-09-29 12:37:13 +0400</date><id>f6b1de5f635ffc7476de454ea7acd837459a7867</id><msg>Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/build.gradle.kts</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.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-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>delete</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</affectedPath><affectedPath>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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/resources/XapiStatementsResource.kt</affectedPath><commitId>cddb1f3275d3901a8d88985fa0b99d82deef140b</commitId><timestamp>1790674466000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Bundle query parameter helpers and update xAPI IPC to use Parameters
</comment><date>2026-09-29 13:34:26 +0400</date><id>cddb1f3275d3901a8d88985fa0b99d82deef140b</id><msg>Add Bundle query parameter helpers and update xAPI IPC to use Parameters</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.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>edit</editType><file>lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><commitId>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</commitId><timestamp>1790679504000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod
</comment><date>2026-09-29 14:58:24 +0400</date><id>4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009</id><msg>Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><commitId>9da84a63b24916c7e3b21a1e45db41179e4396f6</commitId><timestamp>1790684723000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Refactor XapiIpcService message handling into dedicated resource handlers.
</comment><date>2026-09-29 16:25:23 +0400</date><id>9da84a63b24916c7e3b21a1e45db41179e4396f6</id><msg>Refactor XapiIpcService message handling into dedicated resource handlers.</msg><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><commitId>001f142bfd024f2c79af1326d8d9f097761a3b93</commitId><timestamp>1790686252000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add BundleHeaders and refactor IPC bundle header and query parameter helpers
</comment><date>2026-09-29 16:50:52 +0400</date><id>001f142bfd024f2c79af1326d8d9f097761a3b93</id><msg>Add BundleHeaders and refactor IPC bundle header and query parameter helpers</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</affectedPath><commitId>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</commitId><timestamp>1790701915000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle document resource IPC requests asynchronously
</comment><date>2026-09-29 21:11:55 +0400</date><id>0fac688c04b94da31ccaa95c51a05dc2fb0fffe3</id><msg>Handle document resource IPC requests asynchronously</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</affectedPath><commitId>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</commitId><timestamp>1790765358000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper
</comment><date>2026-09-30 14:49:18 +0400</date><id>57a1553afc5831edb16dcef7960a0fc8fc9b1b15</id><msg>Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper</msg><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</affectedPath><affectedPath>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>62d6551c2f877ff6c9cda56e7781561fb24ae622</commitId><timestamp>1790768294000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add Activity Profile and Agent Profile IPC support.
</comment><date>2026-09-30 15:38:14 +0400</date><id>62d6551c2f877ff6c9cda56e7781561fb24ae622</id><msg>Add Activity Profile and Agent Profile IPC support.</msg><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-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>add</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</affectedPath><affectedPath>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</affectedPath><commitId>51485ce7d9a4c45fc42969f2abf14787d5ced704</commitId><timestamp>1790768661000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients
</comment><date>2026-09-30 15:44:21 +0400</date><id>51485ce7d9a4c45fc42969f2abf14787d5ced704</id><msg>Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients</msg><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt</affectedPath><affectedPath>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</affectedPath><affectedPath>lib-xapi-test/build.gradle.kts</affectedPath><affectedPath>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</affectedPath><affectedPath>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</affectedPath><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</affectedPath><commitId>279faf43f09e11139758541d034ec367c0895cc4</commitId><timestamp>1790775367000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion
</comment><date>2026-09-30 17:36:07 +0400</date><id>279faf43f09e11139758541d034ec367c0895cc4</id><msg>Add tests for retrieving xAPI documents as Flow and fix IPC flow completion</msg><path><editType>edit</editType><file>lib-xapi-test/build.gradle.kts</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-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt</file></path><path><editType>add</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt</file></path><path><editType>edit</editType><file>lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt</file></path><path><editType>edit</editType><file>lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.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/XapiAgentProfileResourceDb.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</affectedPath><affectedPath>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.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/XapiStateResourceDb.kt</affectedPath><affectedPath>lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt</affectedPath><affectedPath>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</affectedPath><commitId>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</commitId><timestamp>1790777538000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Quote ETag values in xAPI document resources and queries
</comment><date>2026-09-30 18:12:18 +0400</date><id>d13b8a230950a228bb2e9ebf29ee387d0803f0f5</id><msg>Quote ETag values in xAPI document resources and queries</msg><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt</file></path><path><editType>edit</editType><file>lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.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/xapi/daos/XapiActivityProfileDocumentDao.kt</file></path><path><editType>edit</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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.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-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt</file></path><path><editType>edit</editType><file>lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</affectedPath><affectedPath>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</affectedPath><affectedPath>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</affectedPath><affectedPath>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</affectedPath><affectedPath>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</affectedPath><commitId>4d2a4f4e44b3e5cfecc841da185645457dc1013a</commitId><timestamp>1790788510000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321
</comment><date>2026-09-30 21:15:10 +0400</date><id>4d2a4f4e44b3e5cfecc841da185645457dc1013a</id><msg>Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321</msg><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt</file></path><path><editType>add</editType><file>lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt</file></path><path><editType>edit</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt</file></path><path><editType>edit</editType><file>app-android/src/main/kotlin/world/respect/AppKoinModule.kt</file></path><path><editType>add</editType><file>lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt</file></path><path><editType>edit</editType><file>lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-xapi-core/README_PERMISSIONS.md</affectedPath><affectedPath>lib-xapi-core/README_PERMISSION_RECIPE.md</affectedPath><commitId>9cea818ba83b6b2052e34a92bd08d6268628382d</commitId><timestamp>1790859279000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Update permissions concept README.
</comment><date>2026-10-01 16:54:39 +0400</date><id>9cea818ba83b6b2052e34a92bd08d6268628382d</id><msg>Update permissions concept README.</msg><path><editType>add</editType><file>lib-xapi-core/README_PERMISSIONS.md</file></path><path><editType>delete</editType><file>lib-xapi-core/README_PERMISSION_RECIPE.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</affectedPath><commitId>6f211e0949e3a26ab55107153b207b2ad555850d</commitId><timestamp>1790862214000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Make detail screens scrollable, adjust padding
</comment><date>2026-10-01 17:43:34 +0400</date><id>6f211e0949e3a26ab55107153b207b2ad555850d</id><msg>Make detail screens scrollable, adjust padding</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt</file></path><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>lib-shared/src/commonMain/composeResources/values/strings.xml</affectedPath><affectedPath>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</affectedPath><commitId>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</commitId><timestamp>1790927239000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Add show more/show less option to AlternativeLangLinks.kt
</comment><date>2026-10-02 11:47:19 +0400</date><id>bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d</id><msg>Add show more/show less option to AlternativeLangLinks.kt</msg><path><editType>edit</editType><file>lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt</file></path><path><editType>edit</editType><file>lib-shared/src/commonMain/composeResources/values/strings.xml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle.properties</affectedPath><commitId>c8213a6965b8081aeb8b10af77f59881d16281b9</commitId><timestamp>1790927623000</timestamp><author><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></author><authorEmail>mike@ustadmobile.com</authorEmail><comment>Bump version
</comment><date>2026-10-02 11:53:43 +0400</date><id>c8213a6965b8081aeb8b10af77f59881d16281b9</id><msg>Bump version</msg><path><editType>edit</editType><file>gradle.properties</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mike</absoluteUrl><fullName>Mike Dawson</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma</absoluteUrl><fullName>mandvi.verma</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera</absoluteUrl><fullName>lipsa.behera</fullName></culprit><culprit><absoluteUrl>https://devserver3.ustadmobile.com/jenkins/user/pooja</absoluteUrl><fullName>Pooja Ravi</fullName></culprit></lastSuccessfulBuild><nextBuildNumber>55</nextBuildNumber><property _class='jenkins.model.BuildDiscarderProperty'></property><property _class='com.coravy.hudson.plugins.github.GithubProjectProperty'></property><property _class='hudson.plugins.throttleconcurrents.ThrottleJobProperty'></property><property _class='org.jenkinsci.plugins.envinject.EnvInjectJobProperty'></property><concurrentBuild>false</concurrentBuild><disabled>false</disabled><scm _class='hudson.plugins.git.GitSCM'><browser _class='hudson.plugins.git.browser.GithubWeb'></browser><type>hudson.plugins.git.GitSCM</type><branche></branche><mergeOptions><fastForwardMode>--ff</fastForwardMode><mergeStrategy>default</mergeStrategy></mergeOptions><userRemoteConfig></userRemoteConfig></scm></freeStyleProject>