<?xml version="1.0" encoding="UTF-8"?>
    
    <rss version="2.0"><channel><title>dev-classes-xapi Git changes</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/changes</link><description>dev-classes-xapi Git changes</description><item><title>#13 Remove group creation steps and update class selection in admin assignment test flow. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail0</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail0</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#13 Remove group creation steps and update class selection in admin assignment test flow. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail1</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail1</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#13 Update class visibility assertion in admin assignment Maestro test flow. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail2</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail2</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#13 Update class visibility assertion in admin assignment Maestro test flow. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail3</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail3</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#13 Remove debug print statements and update Maestro test flow. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail4</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail4</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#13 Move Maestro test files from `.maestro/test` to `.maestro/flows`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail5</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail5</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/test/001_003_login_using_school_link_test.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/test/001_002_add_user_direct_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/test/002_browse_lessons_test.yaml
</description></item><item><title>#13 Refine error handling and student group filtering in `AssignmentEditViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail6</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail6</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
</description></item><item><title>#13 Refactor `studentsXapiGroup` extension to target `XapiActivity` and use it in `UpdateClazzStudentXapiGroupUseCase`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail7</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail7</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt
</description></item><item><title>#13 Refactor `studentsXapiGroup` extension to target `XapiActivity` and use it in `UpdateClazzStudentXapiGroupUseCase`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/13/changes#detail8</link><guid isPermaLink="false">job/dev-classes-xapi/13/changes#detail8</guid><pubDate>Fri, 19 Jun 2026 02:08:38 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt
</description></item><item><title>#12 Switch from `XapiGroup` to `Clazz` for student group selection and update related logic. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/12/changes#detail0</link><guid isPermaLink="false">job/dev-classes-xapi/12/changes#detail0</guid><pubDate>Fri, 19 Jun 2026 00:08:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#12 Refactor `AssignmentEditViewModel` to use `XapiGroup` for class selection and remove debug logs in `ClazzDetailViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/12/changes#detail1</link><guid isPermaLink="false">job/dev-classes-xapi/12/changes#detail1</guid><pubDate>Fri, 19 Jun 2026 00:08:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#12 testing. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/12/changes#detail2</link><guid isPermaLink="false">job/dev-classes-xapi/12/changes#detail2</guid><pubDate>Fri, 19 Jun 2026 00:08:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/test/001_003_login_using_school_link_test.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/test/001_002_add_user_direct_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/test/002_browse_lessons_test.yaml
</description></item><item><title>#11 Update Maestro flow `003_admin_user_assigns_assignment_to_a_class_test.yaml` to remove redundant navigation to the Classes tab and assertions for "TestClass" during student verification steps. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/11/changes#detail0</link><guid isPermaLink="false">job/dev-classes-xapi/11/changes#detail0</guid><pubDate>Thu, 18 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#11 Update Maestro flow `003_admin_user_assigns_assignment_to_a_class_test.yaml` to change the target class name from "TestGroup" to "TestClass". (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/11/changes#detail1</link><guid isPermaLink="false">job/dev-classes-xapi/11/changes#detail1</guid><pubDate>Thu, 18 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#9 Add StudentGrouping EditViewModel and set up its navigation route. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail0</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail0</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#9 student grouping UI and logic in class details and edit screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail1</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail1</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +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/view/clazz/detail/ClazzDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Add student selection logic to `StudentGroupingEditViewModel` and validate student existence before group creation in `ClazzDetailViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail2</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail2</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Remove unused whitespace in StudentGroupingEditViewModel.kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail3</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail3</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Implement StudentGroupingDetail screen navigation and ViewModel. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail4</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail4</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt
</description></item><item><title>#9 Update StudentGrouping viewmodels and add navigation route support. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail5</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail5</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Add student grouping detail and edit screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail6</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail6</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt
</description></item><item><title>#9 Add TODO comment for xAPI compatibility in StudentGroupingEditViewModel. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail7</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail7</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Add TODO comment for xAPI compatibility in StudentGroupingEditViewModel. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail8</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail8</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Update StudentGroupingEditViewModel to track selected student names and map them to XapiAgent objects on save. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail9</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail9</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 test: add Maestro flow for adding groups to a class (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail10</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail10</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/subflows/create_account_for_class_member.yaml
.maestro/flows/subflows/admin_add_app.yaml
.maestro/flows/subflows/admin_add_new_student_to_class.yaml
.maestro/flows/subflows/admin_add_student.yaml
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml
</description></item><item><title>#9 Move `004_001_add_groups_to_a_class_test.yaml` Maestro flow to `pending_flows`. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail11</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail11</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending_flows/004_001_add_groups_to_a_class_test.yaml
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail12</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail12</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/pending_flows/004_001_add_groups_to_a_class_test.yaml
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Implement xAPI statement logging for student group creation in `StudentGroupingEditViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail13</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail13</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Implement student grouping creation logic in `StudentGroupingEditViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail14</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail14</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiVerb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.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/ClazzDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Update StudentGroupingDetail route to include groupId and initialize StudentGroupingDetailViewModel UI state. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail15</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail15</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Implement student grouping features in class and group detail screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail16</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail16</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSource.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/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActorDataSourceDb.kt
</description></item><item><title>#9 Implement student grouping features in class and group detail screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail17</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail17</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiGroup.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActorDataSourceDb.kt
</description></item><item><title>#9 Clean up whitespace .kt (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail18</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail18</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt
</description></item><item><title>#9 Update UI accessibility, formatting, and Maestro test flow for student grouping screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail19</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail19</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.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/studentgrouping/detail/StudentGroupingDetailScreen.kt
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update UI accessibility, formatting, and Maestro test flow for student grouping screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail20</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail20</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Update Maestro flows to rename "New Class" to "TestClass" and remove redundant navigation steps in subflows. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail21</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail21</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/subflows/create_account_for_class_member.yaml
.maestro/flows/subflows/admin_add_new_student_to_class.yaml
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#9 Update Maestro subflow `admin_add_app_and_teacher.yaml` to change the class name from "New Class" to "TestClass" across all steps and assertions. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail22</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail22</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_app_and_teacher.yaml
</description></item><item><title>#9 Implement group deletion in `StudentGroupingDetailScreen`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail23</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail23</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/model/XapiVerb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt
</description></item><item><title>#9 Update class data loading and group handling in StudentGroupingDetailViewModel and ClazzDetailViewModel. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail24</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail24</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Update Maestro flow `004_001_add_groups_to_a_class_test.yaml` to include assertions for student counts and group deletion dialogs, and remove the redundant `admin_add_app` subflow. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail25</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail25</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update ClazzDetail and StudentGroupingDetail screens to show member avatars and counts. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail26</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail26</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/ClazzDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt
</description></item><item><title>#9 Update ClazzDetail and StudentGroupingDetail screens to show member avatars and counts. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail27</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail27</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update ClazzDetail and StudentGroupingDetail screens to show member avatars and counts. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail28</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail28</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Correct the assertion text in the Maestro flow `004_001_add_groups_to_a_class_test.yaml` to verify the "Permanently delete this group" message instead of "playlist". (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail29</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail29</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update xAPI model imports and switch to `xapiStatementsResource.post` for storing statements. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail30</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail30</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSource.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActorDataSourceDb.kt
</description></item><item><title>#9 Refactor student grouping to use GUIDs for member identification and simplify xAPI statement logic. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail31</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail31</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
</description></item><item><title>#9 Update `ClazzDetailViewModel` to fetch student groups from xAPI statements instead of metadata and fix a column name in `XapiStatementEntityDao` queries(The statementVerbId is a String (the URL), and statementVerbUid is a Long (the hashed UID). The query is comparing statementVerbId (String) with :verbUid parameter (which is being passed as a Long from the hash).) (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail32</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail32</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Refactor group data fetching to use xAPI statements via flows across `ClazzDetail`, `StudentGroupingDetail`, and `StudentGroupingEdit` view models. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail33</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail33</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActorDataSourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Implement group deletion by voiding the corresponding xAPI statement in `StudentGroupingDetailViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail34</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail34</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Implement logic in `StudentGroupingDetailViewModel` to dynamically find and void the correct xAPI statement when deleting a group by matching the `groupId`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail35</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail35</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Update group deletion logic to use `statementGroupId` from UI state and implement voided statement filtering in `ClazzDetailViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail36</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail36</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Simplify xAPI statement handling by removing manual voided statement filtering in `ClazzDetailViewModel` and stripping redundant try-catch blocks and UI state updates in student grouping ViewModels. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail37</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail37</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Add `statementId` to student grouping navigation routes and update associated ViewModels to track and pass xAPI statement identifiers. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail38</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail38</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Implement xAPI statement voiding when updating a student group in `StudentGroupingEditViewModel`. When editing an existing group, a voiding statement is sent for the old statement ID before posting the updated group information as a new statement. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail39</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail39</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Remove debug logging from `ClazzDetailViewModel` and `StudentGroupingEditViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail40</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail40</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Update `ClazzDetailViewModel`, `StudentGroupingDetailViewModel`, and `StudentGroupingEditViewModel` to filter out voided xAPI statements when retrieving groups. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail41</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail41</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.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/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Update `ClazzDetailViewModel`, `StudentGroupingDetailViewModel`, and `StudentGroupingEditViewModel` to filter out voided xAPI statements when retrieving groups. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail42</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail42</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Simplify xAPI statement retrieval by using timestamps to identify the latest group state and refactor `StudentGroupingDetailViewModel` to inject `NavResultReturner` via the constructor. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail43</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail43</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.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/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Refactor `ClazzDetailViewModel.kt` to improve code formatting and update enrollment removal logic to mark records as `TO_BE_DELETED` if they were created on the current day. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail44</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail44</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Clean up whitespace in `StudentGroupingDetailViewModel.kt`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail45</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail45</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Implement xAPI group deletion and refine the student grouping data model. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail46</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail46</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.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/studentgrouping/detail/StudentGroupingDetailScreen.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt
</description></item><item><title>#9 Relocate the `isIdentified` property within `XapiGroup.kt` and remove trailing whitespace. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail47</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail47</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt
</description></item><item><title>#9 Update `StudentGroupingDetailViewModel` and `StudentGroupingEditViewModel` to support direct xAPI statement lookups and explicit statement ID generation. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail48</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail48</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Refactor xAPI statement retrieval and fix database DAO inconsistencies. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail49</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail49</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Clean up code formatting and simplify comments. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail50</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail50</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt
</description></item><item><title>#9 Refactor `StudentGroupingDetailViewModel` and `StudentGroupingEditViewModel` to streamline account data handling and improve xAPI statement creation. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail51</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail51</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 flow 003 moved to disabled flow folder (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail52</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail52</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
.maestro/flows-disable/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#9 Merge dev xapi (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail53</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail53</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows-disable/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#9 Clean up unused imports and string resources in `ClazzDetailScreen.kt`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail54</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail54</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
</description></item><item><title>#9 Clean up unused imports and string resources in `ClazzDetailScreen.kt`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail55</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail55</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Update the Maestro subflow for adding a new teacher to a class by removing redundant steps to select the user role. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail56</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail56</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_new_teacher_to_class.yaml
</description></item><item><title>#9 Relocate Maestro flow test files from `.maestro/flows/` to `.maestro/flows-test/`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail57</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail57</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows-test/001_005_add_school_self_registration_test.yaml
.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows-test/001_002_add_user_direct_test.yaml
.maestro/flows/002_browse_lessons_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/002_browse_lessons_test.yaml
.maestro/flows-test/001_003_login_using_school_link_test.yaml
.maestro/flows-test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#9 Move Maestro flow test files from `.maestro/flows-test/` to `.maestro/flows/`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail58</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail58</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +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/001_002_add_user_direct_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/002_browse_lessons_test.yaml
.maestro/flows-test/001_003_login_using_school_link_test.yaml
.maestro/flows-test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#9 Passing only groupId to the Student grouping detail . (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail59</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail59</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.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/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Update `ClazzDetailViewModel` and its UI to represent groups directly as `XapiGroup` objects rather than xAPI statements. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail60</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail60</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/ClazzDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/detail/StudentGroupingDetailScreen.kt
</description></item><item><title>#9 Update UI and state management for student groupings in `ClazzDetailScreen` and `StudentGroupingDetailScreen`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail61</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail61</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +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/view/clazz/detail/ClazzDetailScreen.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/studentgrouping/detail/StudentGroupingDetailScreen.kt
</description></item><item><title>#9 Refactor `ClazzDetailScreen.kt` and `StudentGroupingEditScreen.kt` to improve list performance and error handling. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail62</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail62</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
</description></item><item><title>#9 Refactor `ClazzDetailScreen.kt` and `StudentGroupingEditScreen.kt` to improve list performance and error handling. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail63</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail63</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
</description></item><item><title>#9 Refactor `ClazzDetailScreen.kt` and `ClazzDetailViewModel.kt` to improve group ID validation and filter out groups with null account names. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail64</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail64</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/composeResources/values/strings.xml
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/ClazzDetailScreen.kt
</description></item><item><title>#9 Update `ClazzDetailViewModel` to include groups with null account names and update Maestro flow assertions to use "Example Web App" and "Examples" labels. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail65</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail65</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/002_browse_lessons_test.yaml
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
.maestro/flows/subflows/admin_add_app.yaml
</description></item><item><title>#9 Refactor `ClazzDetailViewModel.kt` to clean up formatting and whitespace. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail66</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail66</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Introduce `XapiStatementExt.kt` to centralize xAPI helper functions and refactor student grouping ViewModels. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail67</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail67</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiStatementExt.kt
</description></item><item><title>#9 Remove unused `SchoolDataSource` import in `XapiStatementExt.kt`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail68</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail68</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiStatementExt.kt
</description></item><item><title>#9 Remove unused `SchoolDataSource` import in `XapiStatementExt.kt`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail69</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail69</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Update group filtering logic in `ClazzDetailViewModel.kt` to handle null timestamps and ensure distinct groups are correctly mapped from xAPI statements. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail70</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail70</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Remove `XapiStatementExt.kt` and inline xAPI agent and statement creation logic within `StudentGroupingDetailViewModel` and `StudentGroupingEditViewModel`. Use `xapiAgent` directly from the selected account session and manually construct `XapiStatement` and `XapiAgent` objects for group management and voiding operations. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail71</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail71</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiStatementExt.kt
</description></item><item><title>#9 Remove unnecessary empty lines in `ClazzDetailViewModel.kt`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail72</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail72</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Apply minor formatting and whitespace adjustments to `ClazzDetailViewModel.kt`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail73</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail73</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Improve error handling and data robustness in student grouping view models and screens. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail74</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail74</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSource.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/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/studentgrouping/edit/StudentGroupingEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Replaced showAddStudent, showAddTeacher, and showStudentGrouping with a single isAdminOrTeacher because all three were always set to the exact same value. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail75</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail75</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/ClazzDetailScreen.kt
</description></item><item><title>#9 Refine log messages (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail76</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail76</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.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/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Refine log messages (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail77</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail77</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.kt
</description></item><item><title>#9 Add `STACK_COUNT` constant to `ClazzDetailViewModel` and use it to limit member display in `ClazzDetailScreen`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail78</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail78</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>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/ClazzDetailScreen.kt
</description></item><item><title>#9 Update `004_001_add_groups_to_a_class_test.yaml` to pass a class name environment variable to the `admin_add_class_with_members` subflow. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail79</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail79</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update teacher password in Maestro flow `004_001_add_groups_to_a_class_test.yaml`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail80</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail80</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update Maestro test flows to use "StudentB USER" instead of "StudentD USER" and remove "StudentD" from the class member setup. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail81</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail81</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_class_with_members.yaml
.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Refactor: Put all xapi related resources under the XapiResource interface. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail82</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail82</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.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/assignment/list/AssignmentListViewModel.kt
respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActorDataSourceDb.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityDataSourceDb.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt
respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt
respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiNanoHttpdResourceProviderAndroid.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-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActorDataSourceLocal.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt
respect-datalayer-repository/log/respect-server.2026-05-12.0.log
respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityDataSource.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityDataSourceLocal.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt
</description></item><item><title>#9 Assign to students (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail83</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail83</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
</description></item><item><title>#9 Update `AssignmentEditViewModel` and screen to support selecting classes as assignees instead of individual students. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail84</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail84</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#9 Update assignment test flow to assign to a class and verify multiple student recipients. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail85</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail85</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#9 merged the student grouping code and now in assignment can be assigned to groups (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail86</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail86</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
</description></item><item><title>#9 Update (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail87</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail87</guid><pubDate>Tue, 16 Jun 2026 17:16: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 (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail88</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail88</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/004_001_add_groups_to_a_class_test.yaml
</description></item><item><title>#9 Update (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail89</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail89</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/test/001_002_add_user_direct_test.yaml
.maestro/flows/test/002_browse_lessons_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_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/test/001_003_login_using_school_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#9 Update `schoolDataSource` access to use `xapiResource.statements` across various ViewModels. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail90</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail90</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/edit/StudentGroupingEditViewModel.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/clazz/edit/ClazzEditViewModel.kt
</description></item><item><title>#9 Update `schoolDataSource` access to use `xapiResource.statements` across various ViewModels. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail91</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail91</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/studentgrouping/detail/StudentGroupingDetailViewModel.kt
</description></item><item><title>#9 Update `schoolDataSource` access to use `xapiResource.statements` across various ViewModels. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail92</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail92</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/test/002_browse_lessons_test.yaml
.maestro/flows/test/001_002_add_user_direct_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_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/test/001_003_login_using_school_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#9 moving file just to test one single (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail93</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail93</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/test/002_browse_lessons_test.yaml
.maestro/flows/test/001_002_add_user_direct_test.yaml
.maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/test/001_003_login_using_school_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
</description></item><item><title>#9 Add conditional back navigation to admin assignment Maestro test flow. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail94</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail94</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#9 Update Maestro test flows with improved assertions and move test files to the flows directory. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail95</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail95</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/001_003_login_using_school_link_test.yaml
.maestro/flows/test/002_browse_lessons_test.yaml
.maestro/flows/test/001_002_add_user_direct_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_003_login_using_school_link_test.yaml
.maestro/flows/test/001_001_invite_users_using_qr_code_or_link_test.yaml
.maestro/flows/001_002_add_user_direct_test.yaml
.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#9 Update Maestro test flows with improved assertions and move test files to the flows directory. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail96</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail96</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/subflows/admin_add_student.yaml
</description></item><item><title>#9 Update Maestro flow `003_admin_user_assigns_assignment_to_a_class_test.yaml` to include navigation to classes, remove redundant wait timers, and add assertions for student assignment results. (pooja)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/9/changes#detail97</link><guid isPermaLink="false">job/dev-classes-xapi/9/changes#detail97</guid><pubDate>Tue, 16 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml
</description></item><item><title>#4 Add error handling and logging to `onClickRemovePersonFromClass` in `ClazzDetailViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/4/changes#detail0</link><guid isPermaLink="false">job/dev-classes-xapi/4/changes#detail0</guid><pubDate>Thu, 11 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#4 Update `CreateClassUseCase` to focus on invite creation and use it in `ClazzEditViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/4/changes#detail1</link><guid isPermaLink="false">job/dev-classes-xapi/4/changes#detail1</guid><pubDate>Thu, 11 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt
</description></item><item><title>#4 Update `CreateClassUseCase` to focus on invite creation and use it in `ClazzEditViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/4/changes#detail2</link><guid isPermaLink="false">job/dev-classes-xapi/4/changes#detail2</guid><pubDate>Thu, 11 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt
</description></item><item><title>#3 Add xAPI extension functions required for common use cases. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail0</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail0</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-lib-shared/src/commonMain/composeResources/values/strings.xml
respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt
respect-datalayer-repository/log/respect-server.2026-05-04.0.log
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/AssignmentResultExt.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/school/xapi/adapters/XapiActorAdapter.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt
respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt
respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActorExt.kt
</description></item><item><title>#3 Improvements for Xapi based data handling : work in progress. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail1</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail1</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt
respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/LangMapExt.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt
respect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/App.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt
</description></item><item><title>#3 Add environment variables that can be used to set the url of the test app manifest for maestro testing. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail2</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail2</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>.maestro/README.md
.maestro/flows/subflows/admin_add_app.yaml
.maestro/flows/002_browse_lessons_test.yaml
.maestro/flows/scripts/school_init.js
</description></item><item><title>#3 Update ci-run-maestro to pass TEST_APP_URL argument through. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail3</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail3</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>ci-run-maestro.sh
</description></item><item><title>#3 Improve error message logging in xapi_assignable_unit.js . (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail4</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail4</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js
respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html
</description></item><item><title>#3 Initial implementation of lang map edit field. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail5</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail5</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/SelectLang.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapEditField.kt
</description></item><item><title>#3 Initial implementation of lang map edit field. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail6</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail6</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapEditField.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/LangMapExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt
respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/SelectLang.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/langMapString.kt
respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt
</description></item><item><title>#3 Fix AssignmentEditScreen (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail7</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail7</guid><pubDate>Wed, 10 Jun 2026 17:16: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-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt
</description></item><item><title>#3 Remove use of old langmap getTitle function. (mike)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail8</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail8</guid><pubDate>Wed, 10 Jun 2026 17:16: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/assignment/detail/AssignmentDetailTaskHeader.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/DisplayString.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt
</description></item><item><title>#3 Migrate class list and detail views to use xAPI statements instead of legacy `Clazz` data models. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail9</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail9</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#3 Refactor class management to support multi-language xAPI activity names and descriptions. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail10</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail10</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiClassExt.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.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/list/ClazzListScreen.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt
</description></item><item><title>#3 Use `objectActivityOrNull` and `distinctByMostRecentTimestampForActivityId` extensions in `ClazzListScreen` and `ClazzListViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail11</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail11</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt
</description></item><item><title>#3 Throw `IllegalStateException` in `ClazzEditViewModel` when account data is missing during class creation or when statement data is null during save. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail12</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail12</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt
</description></item><item><title>#3 Refine error handling in `onClickAddPersonToClazz` and `onClickRemovePersonFromClass` within `ClazzDetailViewModel`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail13</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail13</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
</description></item><item><title>#3 Simplify logic for title and description in `ClazzDetailViewModel` and `ClazzDetailScreen`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail14</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail14</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt
respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt
respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
</description></item><item><title>#3 Simplify logic for title and description in `ClazzDetailViewModel` and `ClazzDetailScreen`. (mandvi.verma)</title><link>https://devserver3.ustadmobile.com/jenkins/job/dev-classes-xapi/3/changes#detail15</link><guid isPermaLink="false">job/dev-classes-xapi/3/changes#detail15</guid><pubDate>Wed, 10 Jun 2026 17:16:00 +0400</pubDate><author>no-reply@ustadmobile.com</author><description>respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt
</description></item></channel></rss>