<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>dev-bookmark-end-to-end Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/changes</link><description>dev-bookmark-end-to-end Git changes</description><item><title>#34 Update bookmark query field and remote sync logic. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/34/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/34/changes#detail0</guid><pubDate>Mon, 30 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
</description></item><item><title>#28 Update snackbar message handling to support StringUiText and StringResourceUiText in App.kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/28/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/28/changes#detail0</guid><pubDate>Wed, 25 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
</description></item><item><title>#28 Update snackbar message handling to support StringUiText and StringResourceUiText in App.kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/28/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/28/changes#detail1</guid><pubDate>Wed, 25 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
</description></item><item><title>#27 test: Update browse lessons Maestro flow with additional assertions (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/27/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/27/changes#detail0</guid><pubDate>Tue, 24 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#27 test: update browse lessons Maestro flow (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/27/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/27/changes#detail1</guid><pubDate>Tue, 24 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#27 Updated `002_browse_lessons_test.yaml` Maestro flow (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/27/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/27/changes#detail2</guid><pubDate>Tue, 24 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#27 test: update Maestro browse lessons flow (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/27/changes#detail3</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/27/changes#detail3</guid><pubDate>Tue, 24 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#27 test is failing as Snack bar appears but due to duration by the time tapOn Undo is triggered it disappears (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/27/changes#detail4</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/27/changes#detail4</guid><pubDate>Tue, 24 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
</description></item><item><title>#27 Format code and apply style improvements across bookmark and data layer components (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/27/changes#detail5</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/27/changes#detail5</guid><pubDate>Tue, 24 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#27 Update icon URI handling in Bookmark and LearningUnit detail screens and resolve publication URLs in ViewModels (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/27/changes#detail6</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/27/changes#detail6</guid><pubDate>Tue, 24 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#26 Use default snackbar duration in App.kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/26/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/26/changes#detail0</guid><pubDate>Tue, 24 Mar 2026 07:45:50 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
</description></item><item><title>#26 test is failing as Snack bar appears but due to duration by the time tapOn Undo is triggered it disappears (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/26/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/26/changes#detail1</guid><pubDate>Tue, 24 Mar 2026 07:45:50 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
</description></item><item><title>#25 Update BookmarkDataSource and related components to support includeDeleted parameter and fix BookmarkDao query (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/25/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/25/changes#detail0</guid><pubDate>Tue, 24 Mar 2026 00:17:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/BookmarkDataSource.kt
</description></item><item><title>#25 Update SnackBar implementation to support actions and implement undo functionality for bookmark removal (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/25/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/25/changes#detail1</guid><pubDate>Tue, 24 Mar 2026 00:17:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
</description></item><item><title>#25 Implement `UiText.asString()` extension and update `Snack` to support `UiText` actions (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/25/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/25/changes#detail2</guid><pubDate>Tue, 24 Mar 2026 00:17:23 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/UiTextExt.kt
</description></item><item><title>#23 Update Maestro test flows (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/23/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/23/changes#detail0</guid><pubDate>Mon, 23 Mar 2026 16:39:47 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#23 Update Maestro test flows (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/23/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/23/changes#detail1</guid><pubDate>Mon, 23 Mar 2026 16:39:47 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/Test/001_005_add_school_self_registration_test.yaml
.maestro/flows/Test/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/001_005_add_school_self_registration_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/Test/001_002_add_user_direct_test.yaml
.maestro/flows/Test/001_003_login_using_school_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/Test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#22 Update Maestro test flows (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/22/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/22/changes#detail0</guid><pubDate>Mon, 23 Mar 2026 16:28:22 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/Test/001_005_add_school_self_registration_test.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/001_005_add_school_self_registration_test.yaml
</description></item><item><title>#21 test - update Maestro flow for lesson browsing (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/21/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/21/changes#detail0</guid><pubDate>Mon, 23 Mar 2026 16:12:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#20 Update Maestro flows (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/20/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/20/changes#detail0</guid><pubDate>Mon, 23 Mar 2026 16:01:52 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/Test/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/001_005_add_school_self_registration_test.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/Test/001_002_add_user_direct_test.yaml
.maestro/flows/Test/001_003_login_using_school_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/Test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#19 added test for school-self-registration (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail0</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_005_add_school_self_service.yaml
.maestro/flows/subflows/school_admin_login_flow.yaml
</description></item><item><title>#19 updated test (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail1</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_005_add_school_self_service.yaml
</description></item><item><title>#19 updated test 001_002 (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail2</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_005_add_school_self_service.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#19 updated test- added id for the Host URL (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail3</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail3</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#19 initial commit for add school self service bug fix (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail4</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail4</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt
respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCase.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt
respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt
</description></item><item><title>#19 updated maestro.sh (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail5</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail5</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#19 - Update `ci-run-maestro.sh` to remove a commented-out line and refine `TESTCONTROLLER_URL` parsing. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail6</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail6</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#19 Move Maestro test flows for inviting users, login, assignments, and browsing lessons into a new `TestFolder` directory. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail7</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail7</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/TestFolder/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/TestFolder/001_003_login_using_school_link_test.yaml
.maestro/flows/TestFolder/002_browse_lessons_test.yaml
.maestro/flows/TestFolder/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail8</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail8</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail9</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail9</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail10</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail10</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail11</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail11</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail12</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail12</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/AndroidManifest.xml
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail13</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail13</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/AndroidManifest.xml
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#19 Add Maestro subflows to handle Chrome's first-run experience screens and integrate them into the `001_002_add_user_direct_test` flow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail14</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail14</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/chrome-first-run-check.yaml
.maestro/flows/subflows/chrome-first-run-tap-notification-no-thanks.yaml
.maestro/flows/subflows/chrome-first-run-accept-and-continue.yaml
.maestro/flows/subflows/chrome-first-run-tap-accept-or-use-without-account.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/subflows/chrome-first-run-without-account.yaml
.maestro/flows/subflows/chrome-first-run-accept-ad-privacy.yaml
</description></item><item><title>#19 Update Maestro flow to tap on school URL using text instead of ID. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail15</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail15</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail16</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail16</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#19 add logs for testing (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail17</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail17</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#19 update url with school-directory (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail18</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail18</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt
</description></item><item><title>#19 Move Maestro flows from `TestFolder` to the root `.maestro/flows/` directory. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail19</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail19</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/TestFolder/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/TestFolder/001_003_login_using_school_link_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/TestFolder/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/TestFolder/002_browse_lessons_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#19 remove  logs (anugraha)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail20</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail20</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +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/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
</description></item><item><title>#19 Add Maestro end-to-end test and documentation for school self-registration. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail21</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail21</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-test-end-to-end/README.md
.gitignore
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/001_005_add_school_self_registration_test.yaml
respect-test-end-to-end/test-description/001_005_add_school_self_registration_test_description.md
</description></item><item><title>#19 Add Maestro end-to-end test and documentation for school self-registration. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail22</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail22</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.gitignore
</description></item><item><title>#19 Update the file path for the `get_started_select_school_by_name.yaml` subflow in the Maestro test configuration. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail23</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail23</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#19 Update Maestro test flow to use school name variable instead of skipping school creation. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail24</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail24</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#19 Minor school self registration tidyup. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail25</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail25</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +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/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt
</description></item><item><title>#19 Refactor RegisterSchoolUseCase : Create common interface that can be used to keep parameter names, request/response objects, etc. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail26</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail26</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCase.kt
respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt
</description></item><item><title>#19 Remove validation logic that was either unnecessary or did not belong in the SchoolRegistrationRoute. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail27</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail27</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/application.conf
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt
respect-lib-shared/src/jvmTest/kotlin/world/respect/domain/school/add/RegisterSchoolUseCaseTest.kt
respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt
</description></item><item><title>#19 Fixes for subdomain based school self-registration. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail28</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail28</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt
respect-lib-shared/src/jvmTest/kotlin/world/respect/domain/school/add/RegisterSchoolUseCaseTest.kt
respect-server/src/main/resources/application.conf
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt
respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt
</description></item><item><title>#19 Fix handling of icon image on AppLauncherscreen (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail29</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail29</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
</description></item><item><title>#19 Remove white space changes from main. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail30</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail30</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +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/add/RegisterSchoolUseCase.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>#19 Bump version. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail31</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail31</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/build.gradle.kts
</description></item><item><title>#19 Introduce `BookmarkDetails` to associate bookmarks with their corresponding application data and refactor `BookmarkListViewModel` to load these details concurrently. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/19/changes#detail32</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/19/changes#detail32</guid><pubDate>Mon, 23 Mar 2026 15:25:58 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Bookmark.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/BookmarkDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#14 Update UI layout and styling in BookmarkListScreen.kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/14/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/14/changes#detail0</guid><pubDate>Wed, 18 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#14 Update UI layout and styling in BookmarkListScreen.kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/14/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/14/changes#detail1</guid><pubDate>Wed, 18 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#14 Move no_bookmark image to shared resources and update BookmarkListScreen usage (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/14/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/14/changes#detail2</guid><pubDate>Wed, 18 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt
respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml
respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt
respect-app-compose/src/androidMain/res/drawable/no_bookmark.xml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#14 Implement `listAsFlow` in `BookmarkDataSource` and update `BookmarkListViewModel` to reactive flow (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/14/changes#detail3</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/14/changes#detail3</guid><pubDate>Wed, 18 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/BookmarkDataSource.kt
</description></item><item><title>#14 Update Slack Space link in README (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/14/changes#detail4</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/14/changes#detail4</guid><pubDate>Wed, 18 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README.md
</description></item><item><title>#14 Implement paging support for BookmarkDataSource across DB, HTTP, and Repository layers (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/14/changes#detail5</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/14/changes#detail5</guid><pubDate>Wed, 18 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/BookmarkDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#14 Remove redundant comments in BookmarkListViewModel (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/14/changes#detail6</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/14/changes#detail6</guid><pubDate>Wed, 18 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
</description></item><item><title>#12 Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/12/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/12/changes#detail0</guid><pubDate>Tue, 17 Mar 2026 10:20:48 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/res/drawable/no_bookmark.xml
</description></item><item><title>#11 Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/11/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/11/changes#detail0</guid><pubDate>Tue, 17 Mar 2026 10:10:56 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#11 Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/11/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/11/changes#detail1</guid><pubDate>Tue, 17 Mar 2026 10:10:56 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#10 Add NO_BOOKMARK to RespectImage and update EmptyBookmarkState UI in BookmarkListScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/10/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/10/changes#detail0</guid><pubDate>Tue, 17 Mar 2026 10:03:24 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt
.maestro/flows/001_002_add_user_direct_test.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt
</description></item><item><title>#9 Initial home tabs design. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/9/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/9/changes#detail0</guid><pubDate>Tue, 17 Mar 2026 09:26:21 +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/viewmodel/manageuser/accountlist/AccountListViewModel.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/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>#9 Update navigation labels to "Home" and integrate BookmarkListScreen into HomeScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/9/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/9/changes#detail1</guid><pubDate>Tue, 17 Mar 2026 09:26:21 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
.maestro/flows/002_browse_lessons_test.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.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/bookmark/BookmarkListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt
</description></item><item><title>#9 Update navigation labels to "Home" and integrate BookmarkListScreen into HomeScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/9/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/9/changes#detail2</guid><pubDate>Tue, 17 Mar 2026 09:26:21 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#8 Update opds packages in datasource-db and datasource-http to use school.opds package. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/8/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/8/changes#detail0</guid><pubDate>Mon, 16 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumSubjectEntityAdapters.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.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-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedMetadataEntityDao.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/entities/OpdsFeedEntity.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/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/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/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.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/opds/adapters/ReadiumLinkEntityAdapter.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/opds/entities/OpdsGroupEntity.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/daos/OpdsFeedEntityDao.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/school/opds/entities/OpdsFacetEntity.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/daos/OpdsPublicationEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsPublicationDataSourceDb.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/daos/ReadiumLinkEntityDao.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/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/school/opds/OpdsParentType.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/daos/ReadiumLinkEntityDao.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/entities/OpdsFeedEntity.kt
</description></item><item><title>#8 Update database migration files. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/8/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/8/changes#detail1</guid><pubDate>Mon, 16 Mar 2026 21:49: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>#8 Register Bookmark components in RespectSchoolDatabase and update OPDS package imports (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/8/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/8/changes#detail2</guid><pubDate>Mon, 16 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/BookmarkAdapter.kt
</description></item><item><title>#8 Register Bookmark components in RespectSchoolDatabase and update OPDS package imports (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/8/changes#detail3</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/8/changes#detail3</guid><pubDate>Mon, 16 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/routes/school/respect/BookmarkRoute.kt
</description></item><item><title>#8 Add language, grade, and type fields to Bookmark model and display them in BookmarkListScreen (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/8/changes#detail4</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/8/changes#detail4</guid><pubDate>Mon, 16 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Bookmark.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/BookmarkAdapter.kt
</description></item><item><title>#5 Update bookmark implementation to include application manifest URLs and app metadata. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/5/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/5/changes#detail0</guid><pubDate>Fri, 13 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
</description></item><item><title>#5 Update bookmark data layer, database entities, and cleanup ViewModel logic (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/5/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/5/changes#detail1</guid><pubDate>Fri, 13 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/BookmarkEntity.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
</description></item><item><title>#5 Fixes for AppLauncher screen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/5/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/5/changes#detail2</guid><pubDate>Fri, 13 Mar 2026 21:49: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>#5 Rename findBookmarks to findBookmarksWithMissingPublication and update loading logic in BookmarkListViewModel (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/5/changes#detail3</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/5/changes#detail3</guid><pubDate>Fri, 13 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/BookmarkDataSource.kt
</description></item><item><title>#5 Implement getBookmarkLastModified and findByUidList in BookmarkDao and BookmarkDataSourceDb (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/5/changes#detail4</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/5/changes#detail4</guid><pubDate>Fri, 13 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.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/dev-bookmark-end-to-end/4/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/4/changes#detail0</guid><pubDate>Thu, 12 Mar 2026 21:49: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 Implement bookmark navigation and fix data synchronization in BookmarkListViewModel (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/4/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/4/changes#detail1</guid><pubDate>Thu, 12 Mar 2026 21:49: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/src/commonMain/kotlin/world/respect/datalayer/school/model/Bookmark.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/BookmarkAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/BookmarkDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/BookmarkEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
</description></item><item><title>#4 Update bookmark implementation to include application manifest URLs and app metadata. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/4/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/4/changes#detail2</guid><pubDate>Thu, 12 Mar 2026 21:49: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/src/commonMain/kotlin/world/respect/datalayer/school/model/Bookmark.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/BookmarkAdapter.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/BookmarkEntity.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#4 commented bookmark code for playlist screen (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/4/changes#detail3</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/4/changes#detail3</guid><pubDate>Thu, 12 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#4 commented bookmark code for playlist screen (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/4/changes#detail4</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/4/changes#detail4</guid><pubDate>Thu, 12 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
</description></item><item><title>#3 Remove properties (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail0</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>gradle/gradle-daemon-jvm.properties
</description></item><item><title>#3 Update BookmarkListViewModel to use LoadingUiState and clean up imports (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail1</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail1</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#3 Update BookmarkListViewModel to use LoadingUiState and clean up imports (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail2</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail2</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#3 Update BookmarkListViewModel to use LoadingUiState and clean up imports (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail3</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail3</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json
</description></item><item><title>#3 Update BookmarkListViewModel to use LoadingUiState and clean up imports (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail4</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail4</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json
</description></item><item><title>#3 Clean up formatting in BookmarkDao (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail5</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail5</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/BookmarkDao.kt
</description></item><item><title>#3 Clean up formatting in BookmarkAdapter.kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail6</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail6</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/BookmarkAdapter.kt
</description></item><item><title>#3 Clean up (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail7</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail7</guid><pubDate>Wed, 11 Mar 2026 21:49: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-http/src/commonMain/kotlin/world/respect/datalayer/http/school/BookmarkDataSourceHttp.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/BookmarkDataSourceRepository.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
</description></item><item><title>#3 Clean up (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail8</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail8</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
</description></item><item><title>#3 Clean up (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail9</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail9</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
</description></item><item><title>#3 Clean up LearningUnitDetailViewModel constructor and improve code formatting (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail10</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail10</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt
</description></item><item><title>#3 Add image URL support to Bookmark model and UI components (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail11</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail11</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Bookmark.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/BookmarkAdapter.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#3 Add BookmarkEntity to database schema and implement navigation to bookmark list from app launcher. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail12</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail12</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt
</description></item><item><title>#3 Add BookmarkEntity to database schema and implement navigation to bookmark list from app launcher. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail13</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail13</guid><pubDate>Wed, 11 Mar 2026 21:49: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>#3 Add BookmarkEntity to database schema and implement navigation to bookmark list from app launcher. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail14</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail14</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/script.js
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/audio.ogg
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt
</description></item><item><title>#3 Added lesson002 and updated test (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/3/changes#detail15</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/3/changes#detail15</guid><pubDate>Wed, 11 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json
.maestro/flows/002_browse_lessons_test.yaml
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/script.js
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json
respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/audio.ogg
</description></item><item><title>#2 Update Bookmark model and data layer to include subtitles and improve app detail handling in LearningUnitDetailScreen. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-bookmark-end-to-end/2/changes#detail0</link><guid isPermaLink="false">job/dev-bookmark-end-to-end/2/changes#detail0</guid><pubDate>Tue, 10 Mar 2026 21:49:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Bookmark.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/BookmarkDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/BookmarkAdapter.kt
</description></item></channel></rss>