<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>dev-playlists-links Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/changes</link><description>dev-playlists-links Git changes</description><item><title>#33 Show role on PersonListScreen. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/33/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/33/changes#detail0</guid><pubDate>Tue, 19 May 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt
</description></item><item><title>#33 Show error snackbar when no valid link is found. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/33/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/33/changes#detail1</guid><pubDate>Tue, 19 May 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt
</description></item><item><title>#33 Bump version and change assignment label. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/33/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/33/changes#detail2</guid><pubDate>Tue, 19 May 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-app-compose/build.gradle.kts
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt
</description></item><item><title>#33 Update terms/conditions to use .well-known path on school directory server. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/33/changes#detail3</link><guid isPermaLink="false">job/dev-playlists-links/33/changes#detail3</guid><pubDate>Tue, 19 May 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt
respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt
respect-app-compose/build.gradle.kts
</description></item><item><title>#33 Add guideline on AI-generated content submission (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/33/changes#detail4</link><guid isPermaLink="false">job/dev-playlists-links/33/changes#detail4</guid><pubDate>Tue, 19 May 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CODE_OF_CONDUCT.md
</description></item><item><title>#33 Clarify guidelines on submitting AI-generated content (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/33/changes#detail5</link><guid isPermaLink="false">job/dev-playlists-links/33/changes#detail5</guid><pubDate>Tue, 19 May 2026 00:05:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>CODE_OF_CONDUCT.md
</description></item><item><title>#26 Update README.md (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail0</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail0</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>README.md
</description></item><item><title>#26 Initial installatoin instructions for RESPECT server binary installation (noreply)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail1</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail1</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>INSTALL.md
</description></item><item><title>#26 Add respect-server.service and update INSTALL.md (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail2</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail2</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/dist/systemd/respect-server.service
INSTALL.md
</description></item><item><title>#26 Make example IP address consistent on INSTALL.md (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail3</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail3</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>INSTALL.md
</description></item><item><title>#26 Add Maestro flow summary documentation for core features. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail4</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail4</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-test-end-to-end/README.md
.maestro/flow-summary/001_002_add_user_direct_test.md
respect-test-end-to-end/test-description/001_003_login_using_school_link_test_description.md
respect-test-end-to-end/test-description/002_browse_lessons_test_description.md
.maestro/flow-summary/001_005_add_school_self_registration_test.md
.maestro/flow-summary/002_browse_lessons_test.md
.maestro/README.md
respect-test-end-to-end/test-description/001_001_invite_using_invite_code_test_description.md
.maestro/flow-summary/001_001_invite_users_using_qr_code_or_link_test.md
respect-test-end-to-end/test-description/001_002_add_user_direct_test_description.md
respect-test-end-to-end/test-description/001_005_add_school_self_registration_test_description.md
.maestro/flow-summary/001_003_login_using_school_link_test.md
respect-test-end-to-end/test-description/003_teacher_user_assigns_assignment_to_a_class_test_description.md
respect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.md
.maestro/flow-summary/003_admin_user_assigns_assignment_to_a_class_test.md
</description></item><item><title>#26 Update `.maestro/README.md` formatting. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail5</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail5</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
</description></item><item><title>#26 Refactor Maestro test documentation by consolidating flow summaries. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail6</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail6</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
.maestro/flow-summary/001_002_add_user_direct_test.md
.maestro/flow-summary/001_001_invite_users_using_qr_code_or_link_test.md
.maestro/flow-summary/001_003_login_using_school_link_test.md
.maestro/flow-summary/001_005_add_school_self_registration_test.md
.maestro/flow-summary/002_browse_lessons_test.md
.maestro/flow-summary/003_admin_user_assigns_assignment_to_a_class_test.md
</description></item><item><title>#26 Update Maestro README.md to use numbered lists for test flow descriptions. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail7</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail7</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
</description></item><item><title>#26 Update Maestro README with detailed steps for user management and school registration test flows. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail8</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail8</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
</description></item><item><title>#26 Change PERSON_ADMIN_WRITE flag to an explicit permission. Using a value that was not represented by a single 2^x value resulted in errors in the permission check queries not working as expected. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail9</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail9</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt
</description></item><item><title>#26 Fix for issue #231. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail10</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail10</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt
</description></item><item><title>#26 Issue #231 (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail11</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail11</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt
</description></item><item><title>#26 Disable flow 003 until new xAPI based assignment branch is merged. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail12</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail12</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows-disabled/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#26 Check username unique during invitation acceptance process (issue #232). (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail13</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail13</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/kotlin/world/respect/server/Application.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt
respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt
respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt
respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt
</description></item><item><title>#26 Apply username unique check to when admin sets a username manually. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail14</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail14</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt
</description></item><item><title>#26 Correct visibility of floating action button on PersonListViewModel.kt and update to use common GetWritableRolesUseCase (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-playlists-links/26/changes#detail15</link><guid isPermaLink="false">job/dev-playlists-links/26/changes#detail15</guid><pubDate>Tue, 12 May 2026 08:26:03 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt
</description></item></channel></rss>