<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>change-history Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/changes</link><description>change-history Git changes</description><item><title>#20 Update README.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail0</link><guid isPermaLink="false">job/change-history/20/changes#detail0</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README.md
</description></item><item><title>#20 Create CONTRIBUTING.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail1</link><guid isPermaLink="false">job/change-history/20/changes#detail1</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Update CONTRIBUTING.md to clarify contribution types (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail2</link><guid isPermaLink="false">job/change-history/20/changes#detail2</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Revise CONTRIBUTING.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail3</link><guid isPermaLink="false">job/change-history/20/changes#detail3</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Revise CONTRIBUTING.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail4</link><guid isPermaLink="false">job/change-history/20/changes#detail4</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Add issue template for app catalog requests (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail5</link><guid isPermaLink="false">job/change-history/20/changes#detail5</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD
</description></item><item><title>#20 Update CONTRIBUTING.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail6</link><guid isPermaLink="false">job/change-history/20/changes#detail6</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Create localization.MD (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail7</link><guid isPermaLink="false">job/change-history/20/changes#detail7</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.github/ISSUE_TEMPLATE/localization.MD
</description></item><item><title>#20 Update CONTRIBUTING.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail8</link><guid isPermaLink="false">job/change-history/20/changes#detail8</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Update CONTRIBUTING.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail9</link><guid isPermaLink="false">job/change-history/20/changes#detail9</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Update contributing.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail10</link><guid isPermaLink="false">job/change-history/20/changes#detail10</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CONTRIBUTING.md
</description></item><item><title>#20 Add contributing guidelines to README (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail11</link><guid isPermaLink="false">job/change-history/20/changes#detail11</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README.md
</description></item><item><title>#20 Fix link formatting in README.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail12</link><guid isPermaLink="false">job/change-history/20/changes#detail12</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README.md
</description></item><item><title>#20 Fix issue #209 (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail13</link><guid isPermaLink="false">job/change-history/20/changes#detail13</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt
respect-app-compose/src/androidMain/AndroidManifest.xml
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#20 Update LaunchCustomTabUseCase to use Url type. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail14</link><guid isPermaLink="false">job/change-history/20/changes#detail14</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#20 Update default base catalog url. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail15</link><guid isPermaLink="false">job/change-history/20/changes#detail15</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/build.gradle.kts
respect-app-compose/build.gradle.kts
</description></item><item><title>#20 Bump version number. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail16</link><guid isPermaLink="false">job/change-history/20/changes#detail16</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/build.gradle.kts
</description></item><item><title>#20 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail17</link><guid isPermaLink="false">job/change-history/20/changes#detail17</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ChangeHistoryProvider.kt
respect-server/src/main/kotlin/world/respect/server/util/ext/ReceiveDataAndChangeHistory.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ChangeHistoryProviderDb.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ChangeHistoryMarkSentToServerDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/changehistory/ChangeHistoryViewModel.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt
</description></item><item><title>#20 Add confirmation feedback guideline for user actions (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/20/changes#detail18</link><guid isPermaLink="false">job/change-history/20/changes#detail18</guid><pubDate>Fri, 3 Apr 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>DESIGN_GUIDELINES.md
</description></item><item><title>#16 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/16/changes#detail0</link><guid isPermaLink="false">job/change-history/16/changes#detail0</guid><pubDate>Sat, 28 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ChangeHistoryEntry.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/changehistory/ChangeHistoryViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ChangeHistoryAdapter.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/changehistory/ChangeHistoryScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/findDifference.kt
</description></item><item><title>#14 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/14/changes#detail0</link><guid isPermaLink="false">job/change-history/14/changes#detail0</guid><pubDate>Thu, 26 Mar 2026 14:00:46 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#13 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/13/changes#detail0</link><guid isPermaLink="false">job/change-history/13/changes#detail0</guid><pubDate>Thu, 26 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ChangeHistoryAdapter.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/changehistory/ChangeHistoryScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ChangeHistoryTableEnum.kt
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#13 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/13/changes#detail1</link><guid isPermaLink="false">job/change-history/13/changes#detail1</guid><pubDate>Thu, 26 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#13 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/13/changes#detail2</link><guid isPermaLink="false">job/change-history/13/changes#detail2</guid><pubDate>Thu, 26 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ChangeHistoryEntity.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ChangeHistoryAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ChangeHistoryDao.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ChangeHistoryEntry.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/changehistory/ChangeHistoryScreen.kt
</description></item><item><title>#12 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/12/changes#detail0</link><guid isPermaLink="false">job/change-history/12/changes#detail0</guid><pubDate>Wed, 25 Mar 2026 17:34:09 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#9 Update Maestro test flow for inviting users to include verification of name change history. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/9/changes#detail0</link><guid isPermaLink="false">job/change-history/9/changes#detail0</guid><pubDate>Tue, 24 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/add_student.yaml
.maestro/flows/subflows/admin_add_app.yaml
.maestro/flows/subflows/admin_add_class.yaml
.maestro/flows/subflows/admin_add_student.yaml
.maestro/flows/subflows/add_class.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/subflows/add_app.yaml
</description></item><item><title>#9 Update Maestro flow to fix a button ID typo and add teacher assignment verification to the change history. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/9/changes#detail1</link><guid isPermaLink="false">job/change-history/9/changes#detail1</guid><pubDate>Tue, 24 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#9 Update Maestro flow to select a specific user when navigating the People section. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/9/changes#detail2</link><guid isPermaLink="false">job/change-history/9/changes#detail2</guid><pubDate>Tue, 24 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#8 Update label to "First names*" in invite users Maestro test flow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/8/changes#detail0</link><guid isPermaLink="false">job/change-history/8/changes#detail0</guid><pubDate>Mon, 23 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#4 Work in progress: moving Opds from app datasource to school datasource. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail0</link><guid isPermaLink="false">job/change-history/4/changes#detail0</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/2.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsPublicationEntityAdapter.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSourceLocal.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsDataSource.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/compatibleapps/CompatibleAppDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kt
respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt
respect-lib-opds-model/README.md
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsDataSourceLocal.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsGroupAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSource.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSource.kt
</description></item><item><title>#4 Work in progress: convert App List screen to using Opds publications instead of Respect App Manifest. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail1</link><guid isPermaLink="false">job/change-history/4/changes#detail1</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#4 Work in progress: convert App List screen to using Opds publications instead of Respect App Manifest. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail2</link><guid isPermaLink="false">job/change-history/4/changes#detail2</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt
</description></item><item><title>#4 Work in progress: model Respect App manifest using OPDS. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail3</link><guid isPermaLink="false">job/change-history/4/changes#detail3</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt
</description></item><item><title>#4 Add architecture and system to handle Opds for both external sources (eg. compatible apps) and internal (school playlists). (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail4</link><guid isPermaLink="false">job/change-history/4/changes#detail4</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsFeedDataSourceDb.kt
gradle/gradle-daemon-jvm.properties
settings.gradle.kts
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#4 Work in progress making OpdsFeed a writable entity as per other entities in the school database. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail5</link><guid isPermaLink="false">job/change-history/4/changes#detail5</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedEntityDao.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-lib-opds-model/build.gradle.kts
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsFeedDataSourceDb.kt
respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsDataSource.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsFeedDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt
</description></item><item><title>#4 Work in progress making OpdsFeed a writable entity as per other entities in the school database. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail6</link><guid isPermaLink="false">job/change-history/4/changes#detail6</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json
</description></item><item><title>#4 Implement write support for OpdsFeed including handling etag and last-modified header for non-RESPECT generated feeds. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail7</link><guid isPermaLink="false">job/change-history/4/changes#detail7</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedEntityDao.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt
respect-datalayer-repository/README.md
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsFeedDataSourceDb.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsFeedDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kt
</description></item><item><title>#4 Add OpdsFeed validation helper implementation. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail8</link><guid isPermaLink="false">job/change-history/4/changes#detail8</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsFeedDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsFeedDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedEntityDao.kt
</description></item><item><title>#4 Make OpdsFeed writable to handle playlists: work in progress. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail9</link><guid isPermaLink="false">job/change-history/4/changes#detail9</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsDataSource.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsDataSourceLocal.kt
</description></item><item><title>#4 Update documentation on OpdsFeedDataSource on how external/internal data is handled. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail10</link><guid isPermaLink="false">job/change-history/4/changes#detail10</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt
</description></item><item><title>#4 Make Opds Feed writable: make initial working client - server integration test. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail11</link><guid isPermaLink="false">job/change-history/4/changes#detail11</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt
respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsFeedDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsFeedDataSourceHttp.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt
</description></item><item><title>#4 Move OpdsPublication data source to follow same naming pattern. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail12</link><guid isPermaLink="false">job/change-history/4/changes#detail12</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsPublicationDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsPublicationDataSourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsDataSource.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
</description></item><item><title>#4 Update OpdsPublicationDataSourceRepository to follow pattern as per OpdsFeedRepository. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail13</link><guid isPermaLink="false">job/change-history/4/changes#detail13</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt
</description></item><item><title>#4 OpdsPublicationDataSource improvements (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail14</link><guid isPermaLink="false">job/change-history/4/changes#detail14</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsPublicationDataSourceHttp.kt
respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsPublicationEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsPublicationDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt
</description></item><item><title>#4 Improvements to handling OpdsPublication and OpdsFeed / related entities. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail15</link><guid isPermaLink="false">job/change-history/4/changes#detail15</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsFeedDataSourceDb.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-app-compose/build.gradle.kts
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-server/build.gradle.kts
respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedMetadataEntityDao.kt
</description></item><item><title>#4 Add 304 response support to UstadCacheImpl. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail16</link><guid isPermaLink="false">job/change-history/4/changes#detail16</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsFeedDataSourceHttp.kt
respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt
</description></item><item><title>#4 Add unit test for UstadCache to verify 304 response is returned correctly when incoming request has validation info. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail17</link><guid isPermaLink="false">job/change-history/4/changes#detail17</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt
respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt
</description></item><item><title>#4 Update UstadCacheInterceptor.kt to respond 304 directly if the underlying request has its own cache validation info and a stale response is validated over the network. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail18</link><guid isPermaLink="false">job/change-history/4/changes#detail18</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt
respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt
</description></item><item><title>#4 Add test checking 304 not modified response received using interceptor if cache validation headers are used. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail19</link><guid isPermaLink="false">job/change-history/4/changes#detail19</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt
</description></item><item><title>#4 Remove CompatibleApp Datasource (replaced by using OpdsPublication). (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail20</link><guid isPermaLink="false">job/change-history/4/changes#detail20</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSourceLocal.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/compatibleapps/CompatibleAppDataSourceHttp.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSource.kt
</description></item><item><title>#4 Remove CompatibleAppEntity from database. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail21</link><guid isPermaLink="false">job/change-history/4/changes#detail21</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/adapters/CompatbileAppAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppAddJoin.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppAddJoinDao.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt
</description></item><item><title>#4 Update ci-run-maestro.sh and school_init.js with option to disable automatic school creation for end-to-end tests. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail22</link><guid isPermaLink="false">job/change-history/4/changes#detail22</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
.maestro/flows/scripts/school_init.js
ci-run-maestro.sh
</description></item><item><title>#4 Fixes for AppLauncher screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail23</link><guid isPermaLink="false">job/change-history/4/changes#detail23</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
</description></item><item><title>#4 Update opds packages in datasource-db and datasource-http to use school.opds package. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail24</link><guid isPermaLink="false">job/change-history/4/changes#detail24</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumSubjectEntityAdapters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedMetadataEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsPublicationEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedMetadataEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsPublicationDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumLinkEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsGroupAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFacetAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsGroupEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/PersonPasskeyEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsPublicationEntityAdapter.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsFeedDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsGroupEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsParentType.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsPublicationDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsPublicationEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsTypeConverters.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsFeedDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumSubjectEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFacetEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/ReadiumLinkEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kt
</description></item><item><title>#4 Update database migration files. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail25</link><guid isPermaLink="false">job/change-history/4/changes#detail25</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt
</description></item><item><title>#4 Initial home tabs design. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/4/changes#detail26</link><guid isPermaLink="false">job/change-history/4/changes#detail26</guid><pubDate>Thu, 19 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt
</description></item><item><title>#3 update test with a name change from "TeacherA" to "TeacherB". (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/3/changes#detail0</link><guid isPermaLink="false">job/change-history/3/changes#detail0</guid><pubDate>Wed, 18 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#3 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/3/changes#detail1</link><guid isPermaLink="false">job/change-history/3/changes#detail1</guid><pubDate>Wed, 18 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/changehistory/ChangeHistoryItem.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ChangeHistoryDataSource.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ChangeHistoryTableEnum.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ChangeHistoryDataSourceHttp.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ChangeHistoryEntity.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ChangeHistoryDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ChangeHistoryAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ChangeHistoryDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ChangeHistoryDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/changehistory/ChangeHistoryViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ChangeHistoryEntry.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/changehistory/ChangeHistoryScreen.kt
</description></item><item><title>#3 Updated first name placeholder text in Maestro flow (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/3/changes#detail2</link><guid isPermaLink="false">job/change-history/3/changes#detail2</guid><pubDate>Wed, 18 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#2 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/2/changes#detail0</link><guid isPermaLink="false">job/change-history/2/changes#detail0</guid><pubDate>Tue, 17 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ChangeHistoryDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ChangeHistoryAdapter.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ChangeHistoryDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/findDifference.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ChangeHistoryDataSourceHttp.kt
</description></item><item><title>#2 Added test for change history (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/2/changes#detail1</link><guid isPermaLink="false">job/change-history/2/changes#detail1</guid><pubDate>Tue, 17 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#2 Added test for change history (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/2/changes#detail2</link><guid isPermaLink="false">job/change-history/2/changes#detail2</guid><pubDate>Tue, 17 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
</description></item><item><title>#2 commit (nikunj.sharma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/change-history/2/changes#detail3</link><guid isPermaLink="false">job/change-history/2/changes#detail3</guid><pubDate>Tue, 17 Mar 2026 11:39:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-db/build.gradle.kts
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ChangeHistoryDataSourceDb.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item></channel></rss>